Asp.net 回发方法在MVC4中单击按钮时未获取调用
我在mvc4中创建了一个没有_layout.cshtml的登录页面,并添加了两个带有按钮的文本框。但当我点击按钮时,它就无法回复帖子了。我试过使用断点。请帮忙。我的代码Asp.net 回发方法在MVC4中单击按钮时未获取调用,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,我在mvc4中创建了一个没有_layout.cshtml的登录页面,并添加了两个带有按钮的文本框。但当我点击按钮时,它就无法回复帖子了。我试过使用断点。请帮忙。我的代码 @model MapProjectMVC.Models.LoginModel @{ Layout = null; } <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=
@model MapProjectMVC.Models.LoginModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Special Spots</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<div class="loginBox">
<div class="loginHead">
<img src="img/logo.png" alt="Special Spots - responsive admin panel" title="Special Spots - responsive admin panel" />
</div>
<div class="control-group">
<label for="inputEmail">
User Name</label>
@Html.TextBoxFor(a => a.UserName)
</div>
<div class="control-group">
<label for="inputPassword">
Password</label>
@Html.TextBoxFor(a => a.Password)
</div>
<div class="control-group" style="margin-bottom: 5px;">
</div>
<div class="form-actions">
<button type="submit" class="btn btn-block">
Sign in</button>
</div>
</div>
@Scripts.Render("~/bundles/jquery")
</body>
</html>
[HttpGet]
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(LoginModel LM)
{
var UserId = new ObjectParameter("userId",typeof(string));
var res = new ObjectParameter("res",typeof(Int32));
int i = ssc.ValidateAdminLogin(LM.UserName, LM.Password, UserId, res);
if (Convert.ToInt32(res) == 1)
{
}
else
{
ModelState.AddModelError("", "Login details are wrong.");
}
return View(LM);
}
@model-MapProjectMVC.Models.LoginModel
@{
布局=空;
}
特殊地点
@style.Render(“~/Content/css”)
@Scripts.Render(“~/bundles/modernizer”)
用户名
@Html.TextBoxFor(a=>a.UserName)
密码
@Html.TextBoxFor(a=>a.Password)
登录
@Scripts.Render(“~/bundles/jquery”)
[HttpGet]
公共操作结果登录()
{
返回视图();
}
[HttpPost]
公共操作结果登录(LoginModel LM)
{
var UserId=新的ObjectParameter(“UserId”,typeof(string));
var res=新对象参数(“res”,typeof(Int32));
int i=ssc.ValidateAdminLogin(LM.UserName、LM.Password、UserId、res);
如果(转换为32(分辨率)==1)
{
}
其他的
{
AddModelError(“,”登录详细信息错误。“);
}
返回视图(LM);
}
您必须将输入元素和提交按钮放入表单中。为此,您可以通过以下方式使用asp.net mvc Html Helper Extension For formHtml.BeginForm()
:
@using(Html.BeginForm())
{
<div class="loginBox">
<div class="loginHead">
<img src="img/logo.png" alt="Special Spots - responsive admin panel" title="Special Spots - responsive admin panel" />
</div>
<div class="control-group">
<label for="inputEmail">
User Name</label>
@Html.TextBoxFor(a => a.UserName)
</div>
<div class="control-group">
<label for="inputPassword">
Password</label>
@Html.TextBoxFor(a => a.Password)
</div>
<div class="control-group" style="margin-bottom: 5px;">
</div>
<div class="form-actions">
<button type="submit" class="btn btn-block">
Sign in</button>
</div>
</div>
}
@使用(Html.BeginForm())
{
用户名
@Html.TextBoxFor(a=>a.UserName)
密码
@Html.TextBoxFor(a=>a.Password)
登录
}
Html.BeginForm()
,@EhsanSajjad有很多重载,因为我已经用默认的_layout.cshtml创建了另一个页面,所以不需要添加表单。所以我清楚为什么要在这个页面中添加表单标签。在asp.net mvc中,每当我们需要发布值时,我们都必须使用form。我已经使用了表单,现在可以工作了。谢谢您的帮助。正如上面的代码,我使用了对象参数,我想在int中转换它,如何做代码>这样你就不用布局了!(无论如何,这不会有任何区别)。