У меня есть 2 формы в ряд. Вот URL:
@using (Html.BeginForm("RemoveAll", "UserDocumentCategory", new { area = "Document" }))
@using (Html.BeginForm("AddAll", "UserDocumentCategory", new { area = "Document" }))
Когда я добавляю URL. Действие, оба URL отображаются нормально.
Однако , когда помещено в мою Html .BeginForm, первая форма исчезает. Я пытался использовать обычные теги формы, но они все еще не появляются.
Единственное, о чем я могу думать, это жестко закодировать URL-адреса, но я не хочу полагаться на этот метод, если это возможно. Вот полный код формы:
@model AppONE.Data.ViewModels.LocalUserViewModels.LocalUserViewModel
<div class="row">
<div class="col-sm-6">
<h4>Add All Document Categories to User</h4>
<hr />
@using (Html.BeginForm("AddAll", "UserDocumentCategory", new { area = "Document" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(x => x.BundleUserDetails.UserDetails.Id, new { id = "ra-id" })
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<div class="clearfix">
<div class="pull-right">
<input type="submit" value="Add All" class="btn btn-primary" />
</div>
</div>
</div>
</div>
</div>
}
</div>
<div class="col-sm-6">
<h4>Remove All Document Categories from User</h4>
<hr />
@using (Html.BeginForm("RemoveAll", "UserDocumentCategory", new { area = "Document" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(x => x.BundleUserDetails.UserDetails.Id, new { id = "ra-id" })
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<div class="clearfix">
<div class="pull-right">
<input type="submit" value="Remove All" class="btn btn-primary" />
</div>
</div>
</div>
</div>
</div>
}
</div>
</div>
Маршрутизация:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
Код контроллера:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult RemoveAll(LocalUserViewModel Input)
{
var res = userDocumentsCategories.RemoveAll(HttpContext, Input);
if (res.Result == false)
{
TempData["Error"] = res.Message;
}
else
{
TempData["Success"] = res.Message;
}
return RedirectToAction("Index", "Users", new { Area = "Directory" });
}
Код AddAll такой же.