当我点击链接“Foo”时,我点击LogOn操作中的断点,但用户名始终为null。我不明白为什么。
<a class="jqselect" id="myId" href="#">Foo</a>
@using (Html.BeginForm("LogOn", "Account", FormMethod.Post, new { id = "fooForm" }))
{
<input type="text" id="username"/>
}
<script type="text/javascript">
$(document).ready(function () {
$(".jqselect").click(function () {
$.ajax({
url: '/Account/LogOn',
type: "Post",
data: $('#fooForm').serialize(),
success: function (result) {
if (result.success) {
}
}
});
});
});
</script>
[HttpPost]
public ActionResult LogOn(string username)
{
Console.WriteLine(username);
return new EmptyResult();
}
答案 0 :(得分:3)
你必须给它一个名字:
<input type="text" id="username" name="username"/>
您实际上可以删除id
并只有名称,控制器方法将识别它。
如果需要,您也可以使用模型,您可以像下面这样编写代码:
@Html.TextboxFor(m=>m.Username)
您的模型定义为:
public class LogOnModel {
public string Username {get;set;}
}
,您的方法定义为:
[HttpPost]
public ActionResult LogOn(LogOnModel input)
{
}