我正在做一个使用Telerik DatePicker的项目。应用程序在共享相同字段名的部分视图之间切换。DatePicker要求Name()
指定的名称作为数据模型中字段的名称。(据我所知,调用。value (Model.DataField)是多余的。)
@(Html.Telerik().DatePicker()
.Name("DataField")
.ShowButton(true)
.Value(Model.DataField))
实际情况是,控件以DataField的id创建。对于相同的字段名,有两个偏导数,就有两个相同的id。一个工作(第一个显示),另一个死了。
我试过将.HtmlAttributes(new { id="DataField_wrapper" })
添加到阵容中,但它没有改变有问题的id。这个id显示在包装控件的dev中:
<div class="t-widget t-datepicker" id="DataField_wrapper">
<div class="t-picker-wrap">
<input class="t-input" .... id="DataField" name="DataField" type="text">
使用jQuery通过#DataField
抓取元素,一个将有.data("tDatePicker")
,而另一个将没有。
是否有一个体面的方法来让这两个控制工作?
调用HtmlAttributes
来设置id
设置包装器div的值。InputHtmlAttributes
是需要的!这会影响实际的输入控制,从而可以分配唯一的id
。
@(Html.Telerik().DatePickerFor(x => Model.DataField)
.InputHtmlAttributes(new {id="UniqueID"}))
这个收益率:
<div class="t-widget t-datepicker">
<div class="t-picker-wrap">
<input class="t-input" .... id="UniqueID" name="DataField" type="text">