如何将数据网格devextreme发布到控制器在asp.net mvc
我已经使用devextreme datagrid。我如何发送数据网格控制器在asp.net mvc? 我有我的观点试过这样:如何将数据网格devextreme发布到控制器在asp.net mvc
@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; }
}
在我的位指示让我的表单数据(类名),但网格数据(的ContactInfo)是null
在你的情况下,你可以使用ASP.NET MVC Wrappers for DevExtreme。在这种情况下,你将能够结合这样的网格的WebAPI控制器:
@(Html.DevExtreme().DataGrid()
.DataSource(ds => ds
.WebApi()
.Controller("GridData")
.Key("OrderID")
.LoadAction("GetAllOrders")
.InsertAction("InsertOrder")
.UpdateAction("UpdateOrder")
.DeleteAction("RemoveOrder")
)
)
而且控制器:
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中有关于数据绑定的附加信息。
看看this demo以及。
为我的问题,我找到了我的方式。 这里是解决方案。 https://www.devexpress.com/Support/Center/Question/Details/T489645 感谢devextreme支持。
“您无法查看此票。如果这是您的票,请登录。”最好引用和归纳答案中的文本,以防页面变得无法访问,就像这个文件有问题一样。 –
你可以使用cellTemplate为每一列和cellTemplate你必须使用隐藏输入。例如假设此代码:
factory.Add().DataField("Mobile")
.CellTemplate(@<text>
<%= text %>
<input type='hidden' name='Addresses[<%= rowIndex %>].Mobile' value='<%= value %>' />
</text>);
text,rowIndex,value是DevExtreme对象。 欲了解更多信息,请检查cellInfo部分链接。 https://js.devexpress.com/Documentation/ApiReference/UI_Widgets/dxDataGrid/Configuration/columns/?search=columns
您是否在网格中使用编辑?你能提供你的数据网格选项吗?还有一件重要的事情,你使用什么DevExtreme版本? – Sergey
我使用16.2版本。是的,我添加,更新和删除行。但是当我点击按钮时,如何将datagrid中的所有数据发送到我的控制器,就像当我单击提交按钮并将表单数据发送到我的控制器时一样。 – leman17