【发布时间】:2011-09-30 11:16:01
【问题描述】:
我在我的一个应用程序中使用 AJAX Helper 方法,一切都很好而且正确,但突然遇到了这个奇怪的问题,即在视图中
<% using (Ajax.BeginForm("Feedback", "User", new AjaxOptions { InsertionMode = InsertionMode.InsertBefore, HttpMethod = "POST", OnFailure = "searchFailed", OnSuccess = "feedbackRecorded", LoadingElementId = "ajax-loader-fb", UpdateTargetId = "newsletter", }, new { @id = "feedback" })) { %>
Ajax.BeginForm 的第一个参数即 {action name} 现在被标记为红色(我正在使用 Resharper)并表示“无法解析操作 'ActionName'”,但是该操作存在于我的控制器中.
另一个奇怪的事情是,在运行应用程序并提交表单时,它最终会调用 Javscript 的“OnSuccess”方法,就好像它已经成功一样,但实际上什么也没发生,它甚至没有到达指定的第一行调用控制器动作。(视图中的两个 AJAX 表单都会发生这种情况)
有没有人知道它突然出现这种行为的可能原因?
谢谢!
我刚刚创建了一个新的“SharedController”控制器,其中包含相同的操作,现在它正在识别,但在 UserController 中无法识别?
public class SharedController : Controller
{
public ActionResult Feedback()
{
throw new NotImplementedException();
}
}
【问题讨论】:
-
由于显示代码的简洁性,我只能猜测您可能在表单内有一个表单。
-
我在激活我的 resharper 后遇到了同样的问题,但我的操作确实有效.. 只是看着很烦人。
标签: c# asp.net-mvc ajax resharper