Ajax.BeginForm导致重定向到部分视图而不是就地
我的Search.cshtml有一个名为“search-results”的div,需要更新。 SearchResults是动作名称。 我在MVC2 / VS2008项目上做了很多次,但这是我第一次使用MVC3和VS2010。
问题是,而不是我的搜索结果在我的div中呈现,它点击提交重定向我显示我的部分作为独立页面。
我已经读过这可能是因为没有启用Ajax。 我的_Layout.cshtml看起来像这样:
@ViewBag.Title @(Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.transparent.css").Combined(true).Compress(true))) My MVC Application
@(Html.Telerik().Menu() .Name("menu") .Items(menu => { menu.Add().Text("Home").Action("Index", "Home"); menu.Add().Text("About").Action("About", "Home"); menu.Add().Text("Employees").Action("List", "Employee"); })) @RenderBody() @(Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(true).Compress(true)))
我是否需要添加MicrosoftMvcAjax.js或jquery.unobtrusive-ajax.js? 我的web.config(root)包含以下内容:
如果我在元素的末尾添加MicrosoftMvcAjax.js,我得到一个错误,说明命名空间’Type’是来自MicrosoftMvcAjax.js第一行的未定义错误:
Type.registerNamespace('Sys.Mvc');Sys.Mvc.$create_AjaxOptions=function(){return {};}
我在这里想念的是什么 我确信我的代码很好,因为它几乎从我的MVC2项目中逐字复制。
您忘记将jquery.unobtrusive-ajax.js
脚本包含在您的页面中(根据需要调整路径):
就Microsoft*.js
脚本而言,它们在ASP.NET MVC 3中已经过时,除非您移植一些遗留应用程序,否则不应再使用它们。 它们已被jQuery取代。
好的,弄明白我的问题。
我使用AjaxOption OnSuccess pointint调用Ajax.BeginForm来更新我的占位符的js函数。 但这不是必需的,不引人注目。 一旦我从Ajax选项中删除了OnSucces,一切都开始工作了。
382 4
上述就是C#学习教程:Ajax.BeginForm导致重定向到部分视图而不是就地分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1043125.html