如何使用 Kendo Window 刷新选项传递模型?
我在我的部分视图中使用以下代码:-
var proWindow = $("#productWindow").data("kendoWindow");
proWindow.refresh({
url: "../../Product/UpdateProduct",
type: "POST",
contentType:"application/json",
data: { prodModel: $("form").serialize()
});
下面是控制器的代码:-
[HttpPost]
public ActionResult UpdateProduct(ProductMaintViewModel prodModel)
{
}
但是我在控制器中的模型参数为空。
任何人都可以对此有任何想法吗?意味着我们如何使用 jquery/javascript 中的 kendo 窗口刷新数据选项来发布整个模型?
仅供参考,我正在开发 ASP.NET MVC 4 应用程序。
下面是我的 ProductMaintViewModel 类:-
public class ProductMaintViewModel
{
[HiddenInput(DisplayValue = false)]
public int ProductID { get; set; }
public int? CustomerId { get; set; }
public int? InsuranceId { get; set; }
[Required]
[StringLength(50)]
[Remote("CheckProductName", "Product", ErrorMessage = "Product Name already exists.")]
[Display(Name = "Name")]
public string Name { get; set; }
[StringLength(100)]
[Display(Name = "Description")]
public string Description { get; set; }
public bool IsDraft { get; set; }
[Required]
[Display(Name = "Product Type")]
public int? SelectedProductTypeID { get; set; }
public IEnumerable<SelectListItem> ProductTypes { get; set; }
public bool IsDeleted { get; set; }
[Display(Name = "Customer Type")]
public int? SelectedCustomerSubTypeId { get; set; }
public IEnumerable<SelectListItem> CustomerSubTypes { get; set; }
public IEnumerable<SelectListItem> AvailableLabor { get; set; }
}
[HttpPost]
public ActionResult UpdateProduct([FromBody]ProductMaintViewModel prodModel)
{
enter code here
}
如果有人仍在阅读本文或将来遇到类似情况的任何麻烦,使用 [FromBody] (上面的示例)注释模型将正确解析模型,当然假设来自 post 请求的 JSON 与模型命名约定匹配。此外,将 contentType 设置为 application/json 是标头的关键部分,以使其发挥作用。希望它对将来的人有帮助