在区域部分视图中使用Action Helper的MVC4返回空URL

时间:2014-05-21 17:25:37

标签: c# asp.net-mvc-4 razor

我在区域使用MVC4。在一个领域,我添加了一个控制器来处理一个from的回发。

class MyController : Controller{ 
   [HttpPost]
   public ActionResult Save(MyModel model){....}
}

此表单在区域视图/共享文件夹中实现为_form.cshtml。

<form id="Input@Html.Raw(Model.Id)" action="@Html.Action("Save", "MyController")" >
       @Html.HiddenFor( x => Model.Id)
       @Html.TextAreaFor( x => Model.Text )
       ...
</form>

部分视图通过辅助类

加载
static class MyHelper{
  public static MvcHtmlString AddInput(int id)
  {
     MyModel model = GetMyModelById(id);
     return Html.Partial("_form", model);
  } 
}

现在表格被添加到该区域的某个地方进行调用

@Html.AddInput(42);

返回的MvcHtmlString包含表单,但表单的action属性仍为空。

这可能是什么原因?

1 个答案:

答案 0 :(得分:1)

我认为您希望使用Url.Action代替Html.Action

Html.Action将尝试调用操作方法,而您只需要链接。