У меня есть главная страница с этим элементом управления, который принимает глагол Post. Моя страница входа в систему также привязана к главной странице. Когда я ввожу неправильное имя пользователя / пароль, метод этого элемента управления, который принимает глагол, также запускается вместе с методом для принятия пароля имени пользователя.
Это на HomeConroller:
[ActionName("ControlTemp"), AcceptVerbs(HttpVerbs.Post)]
public ActionResult ControlTemp(TempClass temp)
{
return PartialView("ControlTemp");
}
Это на AccountController:
[AcceptVerbs(HttpVerbs.Post)]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1054:UriParametersShouldNotBeStrings",
Justification = "Needs to take same parameter type as Controller.Redirect()")]
public ActionResult LogOn(string userName, string password, bool rememberMe, string returnUrl)
{
if (!ValidateLogOn(userName, password))
{
return View();
}
FormsAuth.SignIn(userName, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
Теперь, почему вы думаете, что вещи также публикуются в ControlTemp?
РЕДАКТИРОВАТЬ: Вот как я имею в виду элемент управления ControlTemp на главной странице.
<div id = "divControlTemp"> <% Html.RenderAction("ControlTemp", "Home"); %></div>
Так что после просмотра отладчика я увидел, что он возвращает View (), если имя пользователя / пароль неверны. Затем он попадает в элемент управления divControlTemp, но вместо запуска
public ActionResult ControlTemp()
, он стреляет
[ActionName("ControlTemp"), AcceptVerbs(HttpVerbs.Post)]
public ActionResult ControlTemp(TempClass temp)
и это все, что я вижу в отладчике. Итак, мой вопрос: почему вы думаете, что это пост? Это потому, что reurn View () был вызван из метода, принимающего глагол Post?