. NET Основная форма не показывает URL - PullRequest
3 голосов
/ 27 февраля 2020

У меня есть 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 такой же.

...