我在区域使用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属性仍为空。
这可能是什么原因?
答案 0 :(得分:1)
我认为您希望使用Url.Action
代替Html.Action
Html.Action
将尝试调用操作方法,而您只需要链接。