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