Ajax.BeginForm导致重定向到局部视图而不是就地共享,需要更新。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)))我的MVC应用程序@(Html.Telerik().Menu().Name("menu").Items(menu=>{menu.Add().Text("Home").Action("Index","Home");menu.Add().Text("About").Action("About","Home");menu.Add().Text("员工").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.NETMVC3中已过时,除非您移植一些遗留应用程序程序,否则不应再使用它们。它们已被jQuery取代。好吧,想通了我的问题。我使用AjaxOptionOnSuccesspointint调用Ajax.BeginForm来更新占位符的js函数。但这不是必需的,也不引人注目。从Ajax选项中删除OnSucces后,一切都开始工作了。3824以上是C#学习教程:Ajax.BeginForm导致重定向到局部视图,而不是当场共享所有内容。如果对大家有用,需要了解更多C#学习教程,希望大家多加关注——本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
