如何在JavaScript中使用内联ASP.NET标记?

时间:2010-03-28 22:05:54

标签: javascript asp.net asp.net-mvc

如何在JavaScript块中使用ASP.NET内联标记?例如:

<script type="text/javascript">
     // Do some AJAX here, then redirect to a new page on the next line.
     window.location = "/Movie/" + <%= html.encode(MovieName) %>;
</script>

2 个答案:

答案 0 :(得分:7)

就像你在ASP.Net部分一样,但你想要它在引号内,如下所示:

window.location = "/Movie/<%= html.encode(MovieName) %>";

由于它回显到页面,它将呈现如下:

window.location = "/Movie/MyMovie";

在引号之外,它看起来像这样:

window.location = "/Movie/" + MyMovie;
//thinks MyMovie is a variable, not true!

答案 1 :(得分:2)

您的JavaScript在哪里,在aspx模板中内联,还是在单独的文件中?

如果它位于单独的文件中,则默认情况下它不会按预期工作,因为该文件不受ASP.NET处理管道的约束。

如果它是内联的,那么你如何拥有它就足够了,尽管你也需要引用服务器标签

<script type="text/javascript">
     // Do some AJAX here, then redirect to a new page on the next line.
     window.location = "/Movie/<%= html.encode(MovieName) %>";
</script>