Javascript无法在Partial View中使用

Sur*_*thy 13 asp.net asp.net-mvc-partialview asp.net-mvc-3

此问题类似于ASP.NET MVC中部分视图中的Execute Javascript中描述的问题

index.cshtml中的下面一段代码工作得很好......


<label for="locationOfSearch"> in :</label> @Html.TextBox("locationOfSearch")

<input type="submit" value="Search"  style="background-color:Green"/>

@section JavaScript {
    <script type="text/javascript">
        $(document).ready(function () {


            $("#locationOfSearch").autocomplete({
                source: '@Url.Action("AutocompleteAsyncLocations")'
            })



        });
    </script>
}
Run Code Online (Sandbox Code Playgroud)

但是,当我将上述代码和相应的脚本文件复制并粘贴到另一个视图,然后在index.cshtml中,如果我调用Html.Partial(新视图名称),则自动完成功能无效...

请告诉我如何解决它而不需要太多修改......

Dar*_*rov 26

您不能在部分视图中使用部分.他们根本行不通.因此,您必须保留@section JavaScript视图才能注册脚本,然后呈现仅包含标记的部分.您还可以编写自定义帮助程序方法来实现此目的,如本答案中所示.

  • @Darin Dimitrov 我在部分视图中只使用了 &lt;script&gt;&lt;/script&gt; ,这也不起作用。有什么办法可以解决吗? (2认同)