Mvc 5 在布局中打开模式以注册 httppost 出错目标 partialviewresult
Mvc 5 open modal in layout for register httppost goes wrong target partialviewresult
我已经为我的 modal.In 部分视图创建了一个部分视图 我已经创建了我的寄存器 form.I 正在打开寄存器模式并单击寄存器它没有转到我的家庭控制器中的正确目标。
和 第二个问题如果我点击注册按钮,我的可选参数总是出现 'register'
var domainLang = RouteData.Values["languageKey"] as string;
我的布局:
<div class="modal fade login" id="loginModal">
<div class="modal-dialog login animated">
<div class="modal-content">
@{Html.RenderAction("RegisterModal", "Home");}
</div>
</div>
我的局部视图:
<div class="form loginBox">
@using (Html.BeginForm("RegisterModal", "Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Kullanıcı Adı" })
@Html.TextBoxFor(m => m.CepNo, new { @class = "form-control", @placeholder = "Cep Numaranız" })
@Html.PasswordFor(m => m.Password, new { @class = "form-control", @placeholder = "Şifre" })
@Html.PasswordFor(m => m.PasswordRepeat, new { @class = "form-control", @placeholder = "Şifre Tekrar" })
<input class="btn btn-default btn-login" type="submit" value="Register">
}
</div>
我的部分视图结果在我的家庭控制器中:
[Route("{languageKey?}/RegisterModal")]
public PartialViewResult RegisterModal()
{
return PartialView();
}
[HttpPost]
[ValidateAntiForgeryToken]
[ChildActionOnly]
[Route("{languageKey?}/RegisterModal")]
public async Task<PartialViewResult> RegisterModal(RegisterViewModel model)
{
if (ModelState.IsValid)
{
//bla bla
if (result.Succeeded)
{
//bla bla
return PartialView("HomeIndex", "Home");
}
//AddErrors(result);
}
return PartialView(model);
}
控制器
public class LoginController : Controller
{
public LoginController()
{
}
// GET: Login
public ActionResult Index()
{
return View();
}
[Route("{languageKey?}/RegisterModal")]
public PartialViewResult RegisterModal()
{
return PartialView();
}
[HttpPost]
[ValidateAntiForgeryToken]
//[ChildActionOnly]
[Route("{languageKey?}/RegisterModal")]
public PartialViewResult RegisterModal(RegisterViewModel model)
{
if (ModelState.IsValid)
{
//bla bla
//AddErrors(result);
}
return PartialView(model);
}
}
布局
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div class="modal fade login" id="loginModal">
<div class="modal-dialog login animated">
<div class="modal-content">
@{Html.RenderAction("RegisterModal", "Login");}
</div>
</div>
</div>
</body>
</html>
局部视图
@model WebApplication3.Models.RegisterViewModel
<div class="form loginBox">
@using (Html.BeginForm("RegisterModal", "Login", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Kullanıcı Adı" })
@Html.TextBoxFor(m => m.CepNo, new { @class = "form-control", @placeholder = "Cep Numaranız" })
@Html.PasswordFor(m => m.Password, new { @class = "form-control", @placeholder = "Şifre" })
@Html.PasswordFor(m => m.PasswordRepeat, new { @class = "form-control", @placeholder = "Şifre Tekrar" })
<input class="btn btn-default btn-login" type="submit" value="Register">
}
</div>
我已经为我的 modal.In 部分视图创建了一个部分视图 我已经创建了我的寄存器 form.I 正在打开寄存器模式并单击寄存器它没有转到我的家庭控制器中的正确目标。
和 第二个问题如果我点击注册按钮,我的可选参数总是出现 'register'
var domainLang = RouteData.Values["languageKey"] as string;
我的布局:
<div class="modal fade login" id="loginModal">
<div class="modal-dialog login animated">
<div class="modal-content">
@{Html.RenderAction("RegisterModal", "Home");}
</div>
</div>
我的局部视图:
<div class="form loginBox">
@using (Html.BeginForm("RegisterModal", "Home", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Kullanıcı Adı" })
@Html.TextBoxFor(m => m.CepNo, new { @class = "form-control", @placeholder = "Cep Numaranız" })
@Html.PasswordFor(m => m.Password, new { @class = "form-control", @placeholder = "Şifre" })
@Html.PasswordFor(m => m.PasswordRepeat, new { @class = "form-control", @placeholder = "Şifre Tekrar" })
<input class="btn btn-default btn-login" type="submit" value="Register">
}
</div>
我的部分视图结果在我的家庭控制器中:
[Route("{languageKey?}/RegisterModal")]
public PartialViewResult RegisterModal()
{
return PartialView();
}
[HttpPost]
[ValidateAntiForgeryToken]
[ChildActionOnly]
[Route("{languageKey?}/RegisterModal")]
public async Task<PartialViewResult> RegisterModal(RegisterViewModel model)
{
if (ModelState.IsValid)
{
//bla bla
if (result.Succeeded)
{
//bla bla
return PartialView("HomeIndex", "Home");
}
//AddErrors(result);
}
return PartialView(model);
}
控制器
public class LoginController : Controller
{
public LoginController()
{
}
// GET: Login
public ActionResult Index()
{
return View();
}
[Route("{languageKey?}/RegisterModal")]
public PartialViewResult RegisterModal()
{
return PartialView();
}
[HttpPost]
[ValidateAntiForgeryToken]
//[ChildActionOnly]
[Route("{languageKey?}/RegisterModal")]
public PartialViewResult RegisterModal(RegisterViewModel model)
{
if (ModelState.IsValid)
{
//bla bla
//AddErrors(result);
}
return PartialView(model);
}
}
布局
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div class="modal fade login" id="loginModal">
<div class="modal-dialog login animated">
<div class="modal-content">
@{Html.RenderAction("RegisterModal", "Login");}
</div>
</div>
</div>
</body>
</html>
局部视图
@model WebApplication3.Models.RegisterViewModel
<div class="form loginBox">
@using (Html.BeginForm("RegisterModal", "Login", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(m => m.UserName, new { @class = "form-control", @placeholder = "Kullanıcı Adı" })
@Html.TextBoxFor(m => m.CepNo, new { @class = "form-control", @placeholder = "Cep Numaranız" })
@Html.PasswordFor(m => m.Password, new { @class = "form-control", @placeholder = "Şifre" })
@Html.PasswordFor(m => m.PasswordRepeat, new { @class = "form-control", @placeholder = "Şifre Tekrar" })
<input class="btn btn-default btn-login" type="submit" value="Register">
}
</div>