我有以下代码接受用户的值,这些值需要传输到控制器。我可以使用动作链接,但我想知道request.input变量如何在这里工作。
@using (Html.BeginForm("LoginResult", "Dashboard", FormMethod.Post))
{
@Html.EditorFor(model =>model.username)
在控制器中:
public ActionResult LoginResult()
{
string strName = Request["username"].ToString();
return View();
}
和模型
public class Employee
{
public string username { get; set; }
public string age { get; set; }
}
但是收到错误
发生了'System.NullReferenceException'类型的异常 MvcApplication5.dll但未在用户代码中处理
附加信息:对象引用未设置为的实例 对象
答案 0 :(得分:2)
以下是您将如何处理此问题
<body>
<h2>Dashboard</h2>
<form method="post" action="" >
<table>
<tbody>
<tr>
<td>
<input type="text" id="textname" name="txtname" />
</td>
<td>
<input type="text" id="textpassword" name="textpassword" />
</td>
<td>
<input type="button" id="btnclickhere" name="btnclickhere" value="ClickHere" />
</td>
</tr>
<tr><td>**<input type="submit" value="Save" />**</td></tr>
</tbody>
</table>
</form>
否则,您将看到类似下面的链接
<a href="javascript:void()" onclick="doLogin()" >Login</a>
<script type="text/javascript">
function doLogin(){
var postData = {
username = $("#textname").val(),
password = $("#textpassword").val
};
$.ajax({
type: "POST",
url: '/account/logon',
data: JSON.stringify(postData),
success: function(result){
},
contentType:"application/json",
dataType: "json"
});
}
</script>
我想建议您最好发布表单,而不要使用ajax中的值。此外,将页面放在HTTPS站点上以提高安全性。
希望这有助于