控制器 ActionResult 方法参数未从 ajax 调用接收表单数据
Posted
技术标签:
【中文标题】控制器 ActionResult 方法参数未从 ajax 调用接收表单数据【英文标题】:Controller ActionResult methods parameter is not receiving form data from an ajax call 【发布时间】:2018-12-16 05:07:37 【问题描述】:我有一个购买表格来根据模型接收一些数据,但这里我在控制器中的 purchase_return 对象没有接收任何数据。它正在接收 productId 0 和 productNm null。谁能指出这里发生了什么? html:
<form id="Purchase_ReturnForm">
<div>
<table>
<tr>
<td>
@Html.LabelFor(model => model.ProductId)
</td>
<td>
@Html.TextBoxFor(model => model.ProductId)
</td>
<td>
<input type="button" id="btnFind" value="Find" />
</td>
</tr>
<tr>
<td>
@Html.LabelFor(model => model.ProductNm)
</td>
<td>
<span id="edit">
@Html.TextBoxFor(model => model.ProductNm)
</span>
</td>
</tr>
</table>
</div>
</form>
脚本:
<script>
$(document).ready(function ()
$('#btnFind').click(function ()
var data = $('Purchase_ReturnForm').serialize();
$.ajax(
type: 'Post',
url: '/Purchase_Return/FindProductInvoice',
data: data,
success: function ()
)
);
);
</script>
在控制器中:
public ActionResult FindProductInvoice(Purchase_Return purchase_Return)
return View();
还有模特
public class Purchase_Return
//public DateTime ReturnDt get; set;
//public int ReturnSl get; set;
//public DateTime PurchaseDt get; set;
//public int PurchaseSl get; set;
//public double TotReturnAmt get; set;
//public double TotVat get; set;
//public double TotDiscount get; set;
//public int CustomerSupplyId get; set;
[Display(Name="Product")]
public int ProductId get; set;
public string ProductNm get; set;
//public double PurchaseRt get; set;
//public double PurchaseQty get; set;
//public double ProductDisAmt get; set;
//public double ProductVat get; set;
//public string ReturnNote get; set;
//public int InsertUserId get; set;
【问题讨论】:
你需要展示你的模型 已更新模型数据@StephenMuecke 我觉得这个Link可以回答你的问题。 @AminKamalinia,这与 OP 的问题无关 你在 $('Purchase_ReturnForm').serialize() 中缺少#,因为你正在使用 id 【参考方案1】:添加 # 登录您的数据,因为您使用 id 选择器来捕获表单数据。
$('#Purchase_ReturnForm').serialize()
它应该可以按您的预期工作。
【讨论】:
以上是关于控制器 ActionResult 方法参数未从 ajax 调用接收表单数据的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET MVC5 中,表 ID 未从视图传递到控制器
将带有 window.location.href 的参数传递给 MVC ActionResult