我已经将 datagrid 与 devextreme 一起使用。 我如何将数据网格发送到asp.net mvc中的 Controller ? 我认为我已经尝试过:
@using (Html.BeginForm("action-name", "controller-name", FormMethod.Post))
{
<div id="frm"></div>
<div id="grid"></div>
<div class="submit-button" id="submitBtn"></div>
}
这是我的模型:
public class class-name
{
public int id { get; set; }
public string Name { get; set; }
public string FName { get; set; }
public ContactInfo ContactInfo { get; set; }
}
public class ContactInfo
{
public string type { get; set; }
public string value { get; set; }
}
在我的 Controller 中,我得到了表单数据(类名),但网格数据(ContactInfo)为空
最佳答案
根据您的情况,您可以使用 ASP.NET MVC Wrappers for DevExtreme 。在这种情况下,您将能够将网格绑定(bind)到 WebApi Controller ,如下所示:
@(Html.DevExtreme().DataGrid()
.DataSource(ds => ds
.WebApi()
.Controller("GridData")
.Key("OrderID")
.LoadAction("GetAllOrders")
.InsertAction("InsertOrder")
.UpdateAction("UpdateOrder")
.DeleteAction("RemoveOrder")
)
)
Controller :
public class DataGridWebApiController : ApiController {
[HttpGet]
public HttpResponseMessage GetAllOrders(DataSourceLoadOptions loadOptions) {
//...
}
[HttpPost]
public HttpResponseMessage InsertOrder(FormDataCollection form) {
//...
}
[HttpPut]
public HttpResponseMessage UpdateOrder(FormDataCollection form) {
//...
}
[HttpDelete]
public void RemoveOrder(FormDataCollection form) {
//...
}
}
嗯,没有必要将所有数据网格数据发送到服务器端。只需管理更新的数据。
this article 中有关于数据绑定(bind)的附加信息。 .
看看this demo也是如此。
关于jquery - 如何将数据网格devextreme发布到asp.net mvc中的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42631946/