超文本标记语言BeginForm似乎不想向控制器发送回消息

本文关键字:消息 控制器 BeginForm 不想 超文本标记语言 | 更新日期: 2023-09-27 18:04:44

我的MVC razor表单将不会发送回我的控制器。我在BeginForm方法中尝试了各种参数组合,但无济于事。

视图代码

@using (Html.BeginForm("UpdateSurveyData", "Site"))
{
  ...
  <input type="submit" class="btn btn-default" value="Submit" />
}

站点控制器方法

public ActionResult UpdateSurveyData()
{
   // Code Never Reaches this point
   ...
}

呈现的html看起来像这样

<form action="/Site/UpdateSurveyData" method="post"></form>

我应该提到,我试图在kendoUI模态窗口中呈现此表单,如果我使用<form></form>而不使用Html帮助器,它会按预期工作。

超文本标记语言BeginForm似乎不想向控制器发送回消息

我曾经使用(Html.BeginForm)方法成功过;由于我不知道的原因,我遇到了和你一样的问题。真正的原因是表单对象处理得太早,在呈现其他控件之前(在处理时,结束表单标记呈现)。因此,即使您的代码可能是正确的,它也可能不像预期的那样运行。

我还是不明白为什么会这么早。

如果你正在使用任何kendo控件(MVC包装器),我不知道框架内是否有什么东西可能会影响渲染过程,但我个人认为只有核心框架有问题。