这是我的View.cshtml
<h3>Search One Drive</h3>
<script src="~/Scripts/jquery-2.1.0.min.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.js"></script>
@using (Ajax.BeginForm("test", "Home", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "result" }))
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Search</legend>
<div id="result"></div>
<div class="editor-label">
@Html.LabelFor(model => model.queryTerm)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.queryTerm)
@Html.ValidationMessageFor(model => model.queryTerm)
</div>
</fieldset>
<p>
<input type="submit" value="Submit" />
</p>
}
我的家庭控制器中有相应的ActionResult:
[HttpPost]
public ActionResult test(Model testModel)
{
string query = testModel.queryTerm;
return Content("hi " + query);
}
这是一款带剃须刀的MVCV4网络应用程序。因此,当我进入视图页面并输入查询并将鼠标悬停在“提交”上时,我看到Home / test方法显示(悬停时)。但是,当我单击Submit时,控件不会传递给HomeController中的ActionResult test()。
我错过了什么吗?
谢谢!
答案 0 :(得分:1)
好的,这是修复:
我的Model Class中没有无参数构造函数。因此,在进行此调用时,无法创建实例。有一次,我添加了默认构造函数,它开始运行良好。
在Fiddler的帮助下解决了这个问题。