Я разработки ASP.NET MVC 5 приложение, в котором я пытался перенаправить к ReturnUrl, применяя код ниже:сервера Невозможно добавить заголовок HTTP После заголовки были отправлены Exception на @ Html.AntiForgery
[HttpPost]
[AllowAnonymous]
public ActionResult Login(UserLogin model, string returnUrl)
{
if (ModelState.IsValid)
{
string EncryptedPassword = GetMD5(model.Password);
if (DataAccess.DAL.UserIsValid(model.Username, EncryptedPassword))
{
FormsAuthentication.SetAuthCookie(model.Username, true);
if (String.IsNullOrEmpty(returnUrl))
{
return RedirectToAction("Index", "Home");
}
else
{
Response.Redirect(returnUrl);
}
}
else
{
ModelState.AddModelError("", "Invalid Username or Password");
}
}
return View();
}
Приведенный выше код работает нормально, но проблема в том, что когда я публикую форму входа в систему, это дает мне исключение, с которым я никогда не сталкивался раньше, и у меня возникают трудности с устранением исключения, которое генерируется в представлении в Login.cshtml, At Line:
@Html.AntiForgeryToken()
И Excepti на то, что он выбрасывает:
Server cannot append header after HTTP headers have been sent.
Я много исследовал, но я не могу прийти к выводу. Мое приложение отлично работает, когда я удаляю строку @ Html.AntiForgeryToken(), но я не хочу этого делать, я хочу, чтобы мое приложение оставалось защищенным межсайтовым запросом.
Может кто-нибудь, пожалуйста, помогите мне, как мне избавиться от этого исключения?
Показать код, в котором вы используете строку @ Html.AntiForgeryToken() – ojf
Является ли ваш @ Html.AntiForgeryToken() 'в вашей форме на вашем представлении? –
@PedroBenevides Да, он находится в форме Beg..Sorry Для позднего ответа. –