这是一个迁移后的线程,一些注释可能显示为答案。
一个页面上有多个TestBoxFor
2答案 1视图
这是一个迁移后的线程,一些注释可能显示为答案。
Yauheni
最高的成就
1级
Yauheni问上2020年11月27日,03:18点

我有一个页面绑定模型与多个组合框和文本框,喜欢
@ (Html.Kendo()。ComboBoxFor(i => i. accountant)…)和@(Html.Kendo()。TextBoxFor(m => m. zipcode)…)等
我也有一个文本框绑定到模型的“Name”属性:
@ (Html.Kendo()。文本框For(m => m.Name)...)

同样在同一页面上,我有一个网格(绑定到另一个数据)与弹出的可编辑窗口。
这个弹出窗口也有一个与“Name”属性绑定的文本框(但来自另一个模型)。
这个特定的文本框看起来像简单的输入,而不像kendo ui元素。

我认为,这是因为我有两个TextBoxFor元素,每个绑定到一个属性“名称”,所以他们有相同的id属性(“#Name”)。

是否有可能使文本框在弹出窗口中看起来像剑道元素,而不重命名模型的属性?或者有可能改变第二个TextBoxFor元素的id吗?

我试图添加。name(“AnotherName”)方法到第二个TextBoxFor元素,但它不工作,页面不能正确加载。我试图将.Name("AnotherName")方法添加到第一个TextBoxFor元素,但我收到了一个错误“当绑定到模型表达式时,您不能覆盖组件名称”

2答案, 1被接受

排序
0
接受
马丁
Telerik团队
在回答2020年12月02,09:53我

你好,Yauheni,

在组件前面使用For属性会为元素生成一个名称,实际上不能设置. name配置。你可以尝试通过HtmlAttributes配置设置一个不同的id:

.HtmlAttributes ({id =“newId”})

另一种选择是使用另一种命名,以避免具有相同字段的两个model,因为这也将避免进一步的混淆。

如果你有任何其他问题,请告诉我。

问候,
马丁
进步Telerik

虚拟教室,免费的自我节奏的技术培训,让您跟上Telerik和Kendo UI产品的速度,很快就得到了一个新的外观+新的和改进的内容,包括一个全新的Blazor课程!请查看https://learn.telerik.com/

0
Yauheni
最高的成就
1级
在回答2020年12月02,上午09:58
你好,马丁
谢谢你的回答

我解决了我的问题使用TextBox With .Name("AnotherName")和. value (model. Name)方法,而不是使用TextBox for为模型的"Name"属性。
标签
文本框
Yauheni
最高的成就
1级
的答案,
马丁
Telerik团队
Yauheni
最高的成就
1级
分享这个问题