I have defined the custom name about the input tag in Index view of Account. The name is iptloginPassWord and iptloginPassWord. However, in the controller the model will be null whenever the submit button is clicked.
I have attached the code below. Is this a model binding issue? Could you guys help to determine what is wrong here?
View:
<div class="rl-modal-body">
<div class="login-model-body-wrap">
@using (Html.BeginForm("Logon", "Account", FormMethod.Post, new { id = "loginForm" }))
{
<div class="rlf-model-group">
<div class="ipt-container">
<div class="ipt-config ipt-UserName"></div>
@*h5提供了required属性,Name的N必须为大写*@
@*<input id="iptloginUserName" type="text" name="iptloginUserName" value="" placeholder="请输入用户名" class="ipt ipt-login" required="required" />*@
@Html.TextBoxFor(model => model.UserName, new { @id = "iptloginUserName", @Name = "iptloginUserName", @placeholder = "请输入用户名", @class = "ipt ipt-login", @required = "required" })
</div>
<p class="rl-p"></p>
</div>
<div class="rlf-model-group">
<div class="ipt-container">
<div class="ipt-config ipt-Password"></div>
@*<input id="iptloginPassWord" type="password" name="iptloginPassWord" value="" placeholder="请输入密码" class="ipt ipt-login ipt-passwordforJS" required="required" />*@
@Html.PasswordFor(model => model.Password, new { @id = "iptloginPassWord", @Name = "iptloginPassWord", @placeholder = "请输入密码", @class = "ipt ipt-login ipt-passwordforJS", @required = "required" })
</div>
<p class="rl-p"></p>
</div>
<div class="rlf-model-group">
<label for="AutoLogin">
<input id="AutoLogin" type="checkbox" checked="checked" />自动登录
</label>
</div>
<div class="rlf-model-group">
<p class="rl-p"></p>
<input id="iptloginsubmit" type="submit" name="Button" value="登录" class="btn-red btn-full" />
</div>
}
</div>
</div>
Controller:
public class AccountController : Controller
{
//
// GET: /Account/
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
[AllowAnonymous]
[HttpPost]
public ActionResult Logon(User model)
{
string username = model.UserName;//this will get null
string password = model.Password;//this will also get null
return View(model);
}
}
Aucun commentaire:
Enregistrer un commentaire