我想我在尝试在MVC 4中添加自动完成功能时,会丢失一些明显的东西.从我在其他帖子中找到的内容,我已经能够把一个例子放在一起,但是我的控制器中的方法没有被调用.
到目前为止我已经尝试了
_布局
@Styles.Render("~/Content/themes/base/css") @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryui") @Scripts.Render("~/bundles/jqueryval")
调节器
Public Function Numbers(term As String) As ActionResult Return Json(New String() {"one","two","three","four","five","six"},JsonRequestBehavior.AllowGet) End Function
查看(我现在已经硬编码了Home / Numbers)
<div class="editor-label"> @Html.LabelFor(Function(model) model.Number) </div> <div class="editor-field"> @Html.EditorFor(Function(model) model.Number) @Html.ValidationMessageFor(Function(model) model.Number) </div> <script type="text/javascript"> $(function () { $("#Number").autocomplete({ source: 'Home/Numbers',minLength: 1 }); }); </script>
解决方法
如果您在布局中的body元素的底部有@ Scripts.Render行,并且在@RenderBody()之后,您需要将脚本放在脚本部分中:
@section scripts <script type="text/javascript"> $(function () { $("#Number").autocomplete({ source: '@Url.Action("Numbers","Home")',minLength: 1 }); }); </script> End Section
因为你的脚本依赖于jQuery,所以jQuery应该先加载.
或者只需将@ Scripts.Render声明移动到布局中的头部,那么您不需要将代码放入脚本部分(但是使用该部分更好)
原文地址:https://www.jb51.cc/jquery/180557.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。