我有一个像这样的动作方法
public JsonResult Create(Product p, string extra)
视图绑定到@model Product
在通过ajax调用调用Create action时,我从表单中获取Product P值,但extra总是为null,尽管extra是相同的形式
<input type="text" name="extra" />
我也试过Request.Form [“extra”]它也是null。我错过了什么?如何在action方法中获取input [name = extra]的值?
答案 0 :(得分:0)
你没有提到你是如何调用这个动作的(除了说AJAX显然是不够的),所以假设你有一个表示产品的HTML表单和一个包含一些额外值的输入字段:
@model Product
@using (Html.BeginForm())
{
@Html.EditorForModel()
<input type="text" name="extra" value="some extra value" />
<input type="submit" value="Create" />
}
你可以不引人注意地AJAX化这样的形式:
$('form').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
// TODO: handle the results of the AJAX call
}
});
return false;
});