在给出actionName和controllerName之后,Ajax.BeginForm不输出表单操作

时间:2012-04-23 17:49:20

标签: c# asp.net-mvc asp.net-mvc-3

非常标准的代码

 using (Ajax.BeginForm("Search", "Subscriber", null, 
                        new AjaxOptions 
                                 { 
                                  OnBegin   = "ajaxBegin", 
                                  OnFailure = "ajaxFailure", 
                                  OnSuccess = "ajaxSuccess" 
                                 },
                                 new{id = "ajax1121"})
                       {
                       }

其输出<form action="" ...>操作为空!!我尝试通过删除ajaxoptions等更改代码与另一个重载,没有使用

并且最令人惊讶的是,相同的代码在另一个区域工作。我甚至尝试将_ViewStart.cshtmlWeb.config文件从区域复制到问题区域,仍然无效。该区域的问题名称为Mail

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

是的,没有客户方。而不是放置您的控制器名称,而是放入Route对象

using (Ajax.BeginForm("Search", new { Controller = "Subscriber", area = "area name here"}, null, new AjaxOptions { OnBegin = "ajaxBegin", OnFailure = "ajaxFailure", OnSuccess = "ajaxSuccess" },new{id = "ajax1121"}){
}