我正在使用asp.net mvc4和模型方法,我没有ajax调用。我想在textboxfor上输入密钥时提交表格(当用户按下输入时,应在密码文本框中提交) 下面是我的视图和控制器代码。
查看
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<table>
<tr>
<td style="width:100px">
@Html.LabelFor(m => m.UserName)
</td>
<td>
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</td>
</tr>
<tr>
<td style="height:10px"></td>
</tr>
<tr>
<td style="width:100px">
@Html.LabelFor(m => m.Password)
</td>
<td>
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</td>
</tr>
<tr>
<td style="height:20px"></td>
</tr>
<tr>
<td></td>
<td style="text-align:right">
<input type="submit" value="Log in" />
</td>
</tr>
</table>
}
控制器
[HttpPost]
[AllowAnonymous]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && AuthorizeUser(model.UserName, model.Password))
{
Session["sessionUserId"] = model.UserName;
return RedirectToAction("Index", "Home");
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
答案 0 :(得分:0)
查看生成的HTML也会有所帮助,而不是源代码,因为这是客户端问题,但是您需要在页面上的脚本块中执行类似的操作:
$(function(){
$('input[type="password"]').on("keypress", function(e) {
if (e.keyCode == 13) {
// press the submit button
$('form input[type="submit"]').click();
}
});
});
答案 1 :(得分:0)
您需要使用以下
@using (Ajax.BeginForm("Login","ControllerName", new AjaxOptions{HttpMethod="post"})) {
此代码会直接点击Login post type action