C# 如何从Kendo()的DataValueField()中获取值。更改事件时的DropDownList()
我使用剑道网格和编辑器模板来显示我的数据。在编辑器中,我给了剑道下拉列表的DataValueField()id和DataTextField()名称。在更改事件中,我无法获取DataValueField()。请参阅下面的代码 这是我的编辑器模板memocharrier.chtmlC# 如何从Kendo()的DataValueField()中获取值。更改事件时的DropDownList(),c#,asp.net-mvc-4,kendo-ui-mvc,C#,Asp.net Mvc 4,Kendo Ui Mvc,我使用剑道网格和编辑器模板来显示我的数据。在编辑器中,我给了剑道下拉列表的DataValueField()id和DataTextField()名称。在更改事件中,我无法获取DataValueField()。请参阅下面的代码 这是我的编辑器模板memocharrier.chtml @using System.Collections @(Html.Kendo().DropDownList() .DataValueField("PARTNERID") .DataTextField("PARTN
@using System.Collections
@(Html.Kendo().DropDownList()
.DataValueField("PARTNERID")
.DataTextField("PARTNERNAME")
.Name("AIRLINENAME")
.BindTo((IEnumerable)ViewBag.lstAirline)
.HtmlAttributes(new { maxlength = "", @class = "MNum" })
.OptionLabel("-Select-Flight ")
.Filter(FilterType.Contains)
.Events(e =>
{
e.Change("MemoCarrier");
})
)
这是我的更改功能
function MemoCarrier(e) {
var AirlineName = this.value();
alert(AirlineName) //it displays PARTNERNAME instead of PARTNERID
}
目前我的名字是ie;DataTextField()值。相反,我需要DataValueField()。
提前感谢您的建议 因此,根据您的评论,最简单的方法可能是使用
数据绑定
属性来简化绑定模型的过程。假设您也在为网格使用MVC辅助程序
因此,获取您的代码并添加以下内容:
@(Html.Kendo().DropDownList()
.DataValueField("PARTNERID")
.DataTextField("PARTNERNAME")
.Name("AIRLINENAME")
.BindTo((IEnumerable)ViewBag.lstAirline)
.HtmlAttributes(new { maxlength = "", @class = "MNum", data_bind="value:{yourProperyNameHere}" })
.OptionLabel("-Select-Flight ")
.Filter(FilterType.Contains)
)
因此,希望您能看到我所做的就是为您的控件添加一个新的HtmlAttribute
属性。你所需要做的就是把任何属性作为这个的值
根据此值是复杂(
对象
)还是简单(字符串、int等
)基元类型,您可能需要将基元
属性设置为真
,以便仅将值字段(例如您分配的id)绑定回网格的行模型 如何从网格访问下拉编辑器?是通过UIHint还是自定义模板?您应该能够避免使用更改函数,只需使用数据绑定属性将下拉列表绑定到网格中提供的值即可。@DavidShorthosehi,im使用自定义模板。如何使用数据绑定属性?你能给我举个例子吗?非常感谢。。完成一半。我可以在数据绑定中添加多个项目吗?与data_bind=“value:{PARTNER_ID}类似,data code:{PARTNERCODE1}”data_bind旨在绑定到值、事件、属性和您可能定义的任何自定义绑定。如果要向控件添加另一个data
属性,则可以像data\u code={YourValue}
那样添加它。如何使用jquery访问“data\u code”属性值?比如var code=$('#id').attr('data#u code')。这就是我结巴的地方!非常感谢您的帮助,您应该能够像这样访问它。$('#id').data('code')
,因为它将是数据收集HtmlatAttributes的一部分(new{maxlength=“”、@class=”、data_bind=“{PARTNER#id}”、data_code=“{PARTNERCODE1}”)我像这样给出,并在javascript中尝试了$('#id').data('code')。我得到的输出是字符串“{PARTNERCODE1}”。发生了一些小错误。。请纠正我