Asp.net mvc 使用Telerik网格在保存和更新时发送自定义值

Asp.net mvc 使用Telerik网格在保存和更新时发送自定义值,asp.net-mvc,asp.net-mvc-2,telerik,telerik-mvc,Asp.net Mvc,Asp.net Mvc 2,Telerik,Telerik Mvc,我的asp.net mvc应用程序中有一个Telerik网格,看起来像: 现在,它将列出从放置在栅格正上方的列表中选择的分区中的所有区域。zoneid是网格中的外键。现在,我想在网格中添加新区域时,应该从列表中获取zoneID,而不是网格的zone列中的内容,因为该值仅用于显示区域,也可以从网格中删除,因为从列表中可以明显看出列出的区域属于哪个区域 我知道我可以使用编辑器模板在编辑时在网格内显示此列表,但我更喜欢它在网格外,并根据区域提供一些过滤,因为每个区域可能有许多区域。因此,我现在关心的

我的asp.net mvc应用程序中有一个Telerik网格,看起来像:

现在,它将列出从放置在栅格正上方的列表中选择的分区中的所有区域。zoneid是网格中的外键。现在,我想在网格中添加新区域时,应该从列表中获取zoneID,而不是网格的zone列中的内容,因为该值仅用于显示区域,也可以从网格中删除,因为从列表中可以明显看出列出的区域属于哪个区域


我知道我可以使用编辑器模板在编辑时在网格内显示此列表,但我更喜欢它在网格外,并根据区域提供一些过滤,因为每个区域可能有许多区域。因此,我现在关心的是如何将区域(已编辑或新添加)的ZoneID设置为显示在网格控件正上方的列表的选定值。

当您单击AddNewRecord按钮时,为什么不将区域的值设置为组合框值中选定的ZoneID

我做了一些类似的事情,但我必须从树视图中获取值

    private void btnAddContact_Click(object sender, EventArgs e)
    {
        Int64 companyId = Int64.Parse(treeCompany.SelectedNode.Name);

        dsSociete.ContactRow newContact = dsSociete.Contact.NewContactRow();
        newContact.SocieteId = societeId;
        dsSociete.Contact.AddContactRow(newContact);
    }
一旦我添加了一个新联系人,它就会自动设置其公司(法国兴业银行是法语公司)


我是在Winform中做的,但我想你也可以在Web中做同样的事情?

我通过像这样挂接Telerik grid的onSave事件解决了这个问题

<%
Html.Telerkik.Grid<xyz.company>()
.Name("name")
.// other properties
.Events(even=>even.onSave("onSave")
.Render();%>

onSave事件在json的companyID索引处添加companyID,该索引将提交给服务器,modelbinder将其与模型的相关属性名称绑定。

man它看起来像web表单。我需要用asp.NETMVC和所有我必须用javascript编写的东西来完成它。我正在努力寻找客户端的telerik grid事件,我可以将其挂起。不过,很高兴知道一些法语:)@Muhammad Ok,谢谢你写了这个解决方案!哈哈,关于法语,我肯定在等待法语交流论坛变得更有用;)祝你在接下来的项目中好运:)你不认为转向法语交流会减少你的读者群和受益于你专业知识的人数吗。
function onSave(e)
{
    var data = e.values;
    data["companyID"] = $("#CompanySelectList").val();
    e.values = data;
    return true;
}