У меня есть представление, которое отлично работает до тех пор, пока я не добавлю атрибут Authorize в действие Create в диспетчере продуктов в областях Admin.Авторизовать атрибут в форме возврата ASP.NET MVC без тега формы
[Authorize]
public ActionResult Create()
{
ViewBag.Action = "Create";
VewBag.Category = new SelectList(this.categoryCoreModel.Categories, "CategoriaKy", "CategoriaDescIT");
ViewBag.SubCategory = new SelectList(this.subCategoryCoreModel.SubCategories, "CategoriaSubKy", "CategoriaSubDescIT");
return this.View("Create", new ProductEditModel());
}
На мой взгляд
<div class="form">
@using (Html.BeginForm((string)ViewBag.Action, "Product", FormMethod.Post, new { Model, enctype = "multipart/form-data" }))
{
...............
.............
}
Моя проблема, когда я нажимаю на кнопку Сохранить перенаправляет на другой URL, как администратора/Home, которая не существует. И тег формы тоже отсутствует. Что мне здесь не хватает?
Отредактировано: Кажется, что после успешного входа в систему имя пользователя для входа в систему отображает форму, которая создает беспорядок с моей формой продукта.
@(Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" })) {
@Html.AntiForgeryToken()
<a href="javascript:document.getElementById('logoutForm').submit()">Log off</a>
}
Любая идея или обратной связи было бы здорово
Я не использую роль провайдера вообще. У меня есть анонимность и аутентификация пользователя. когда я открываю/Admin/Product/Создает его перенаправление на учетную запись/вход в систему, как ожидалось. После успешного входа в систему он перенаправляет обратно в/Admin/Product/Create. Который кажется прекрасным. Но когда я отправляю сообщение с помощью кнопки сохранения, это работает. поскольку он перенаправляется в другое место, потому что у моей страницы нет тега формы. – Miller
Отделяете ли вы свои методы с атрибутами [httpget] и [httppost] и разными сигнатурами, чтобы ваша маршрутизация знала, куда положить httppost? Возможно, вам нужно предоставить другую подпись и украсить сообщение с помощью [httppost], а затем установить точку останова в атрибуте, чтобы вы могли доказать, что маршрутизация отправляет вас в нужное место. –
Да, я уже установил [ httppost]. но в представлении не отображается тег формы после добавления атрибута Authorize. Он отлично работает без разрешения авторизации – Miller