0

我有两个Areas:(Profile对于每个用户)和Admin(对于管理员)。一些用户可以拥有公司并在他们的个人资料中管理它们,管理员也可以在他们的区域中创建公司。

在管理区域中,我有一个"_BaseForm"文件,我在其中保存通用代码并调用不同的部分来用字段填充表单,例如:-

var content = string.Format("~/Areas/Admin/Views/{0}/_Form.cshtml", (string)ViewBag.FolderName);

@using (Html.BeginForm(null,null,FormMethod.Post,new { @enctype = "multipart/form-data" }))
{
    @Html.Partial(content)
}

问题是当我调用Add()返回视图的函数时,它得到了正确的形式,但动作 URL 对应于控制器/动作Profile Area:-

<form action="/Profile/Companies/Add" ..> <!-- it should be "/Admin/Companies/Add" -->

当我评论该区域的Add (Company)功能时Profile,它可以正常工作。

你能帮助我吗?

谢谢

4

1 回答 1

1

只需将您的 BeginForm 更正为:

@using (Html.BeginForm(null,null,new{ area="Admin" },FormMethod.Post,new { @enctype = "multipart/form-data" }))
{}
于 2014-08-05T13:03:37.260 回答