Javascript 自定义剑道下拉列表消息,以替换;“未找到任何数据”;
在我们的.NET Core 3 web应用程序中,我们将剑道与razor视图一起使用 我们使用的是Javascript 自定义剑道下拉列表消息,以替换;“未找到任何数据”;,javascript,kendo-ui,kendo-asp.net-mvc,Javascript,Kendo Ui,Kendo Asp.net Mvc,在我们的.NET Core 3 web应用程序中,我们将剑道与razor视图一起使用 我们使用的是Html.Kendo().DropDownListFor控件,当它没有数据显示时,会显示以下文本: “找不到数据” 我们想用自定义消息替换此字符串。我们知道我们可以替换kendo.all.min.js中的字符串,但是我们知道一旦我们更新kendo,这个字符串就会被覆盖 如何在DropDownListFor控件本身中以编程方式指定文本字符串?我建议您为您的项目创建一个JS文件,并覆盖您想要的任何消息,
Html.Kendo().DropDownListFor
控件,当它没有数据显示时,会显示以下文本:
“找不到数据”
我们想用自定义消息替换此字符串。我们知道我们可以替换kendo.all.min.js
中的字符串,但是我们知道一旦我们更新kendo,这个字符串就会被覆盖
如何在
DropDownListFor
控件本身中以编程方式指定文本字符串?我建议您为您的项目创建一个JS文件,并覆盖您想要的任何消息,这样您就可以毫无问题地更新kendo
现在,为了回答您的问题,在DropDownList
的情况下,您可以像这样更改以下属性的值:
kendo.ui.DropDownList.prototype.options.messages.noData = 'Sorry, no data here';
你可以用任何其他小部件来实现这一点。我建议你为你的项目创建一个JS文件,并覆盖你想要的任何消息,这样你就可以毫无问题地更新剑道了 现在,为了回答您的问题,在
DropDownList
的情况下,您可以像这样更改以下属性的值:
kendo.ui.DropDownList.prototype.options.messages.noData = 'Sorry, no data here';
您可以使用任何其他小部件执行此操作。您可以设置并分配模板以使用和自定义无数据消息。我还添加了带有样式的跨距,以删除剑道添加的大写文本转换。像这样:
<!-- Template -->
<script id="noDataTemplate" type="text/x-kendo-template">
<span style="text-transform: none;">
<strong>My Custom No Data Message here</strong>
</span>
</script>
<!-- DropDownList initialization -->
@(Html.Kendo().DropDownList()
.Name("customers")
.DataTextField("ContactName")
.DataValueField("CustomerID")
.NoDataTemplateId("noDataTemplate") // Reference to the template.
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Template_GetCustomers", "ComboBox");
});
})
)
此处我的自定义无数据消息
@(Html.Kendo().DropDownList())
.名称(“客户”)
.DataTextField(“联系人姓名”)
.DataValueField(“CustomerID”)
.NoDataTemplateId(“noDataTemplate”)//对模板的引用。
.DataSource(source=>
{
source.Read(Read=>
{
read.Action(“模板”、“组合框”);
});
})
)
此处的详细信息:您可以设置和分配模板,以使用和自定义无数据消息。我还添加了带有样式的跨距,以删除剑道添加的大写文本转换。像这样:
<!-- Template -->
<script id="noDataTemplate" type="text/x-kendo-template">
<span style="text-transform: none;">
<strong>My Custom No Data Message here</strong>
</span>
</script>
<!-- DropDownList initialization -->
@(Html.Kendo().DropDownList()
.Name("customers")
.DataTextField("ContactName")
.DataValueField("CustomerID")
.NoDataTemplateId("noDataTemplate") // Reference to the template.
.DataSource(source =>
{
source.Read(read =>
{
read.Action("Template_GetCustomers", "ComboBox");
});
})
)
此处我的自定义无数据消息
@(Html.Kendo().DropDownList())
.名称(“客户”)
.DataTextField(“联系人姓名”)
.DataValueField(“CustomerID”)
.NoDataTemplateId(“noDataTemplate”)//对模板的引用。
.DataSource(source=>
{
source.Read(Read=>
{
read.Action(“模板”、“组合框”);
});
})
)
此处的更多信息:感谢您的回答@G\p。这几乎满足了我们的要求,但文本“我的自定义无数据消息”始终以大写形式呈现。我们如何才能完全按照模板中指定的方式显示它?剑道控件似乎正在向文本的大写部分添加文本转换样式。如果将以下样式添加到自定义文本周围的跨距中,是否会阻止它?文本转换:无@Artileech现在我回到电脑前,看起来剑道添加了.k-nodata类,其中包含文本转换:大写,按照我上面所说的添加文本转换:没有样式适合您现在很完美,谢谢@G_P!您是否希望更新您的答案,以包含正确的跨度,以便其他人看到此帖子?我的自定义无数据消息在此很高兴它为您解决了问题-我更新了答案,为您的答案@G_P添加了带有样式覆盖的跨距。这几乎满足了我们的要求,但文本“我的自定义无数据消息”始终以大写形式呈现。我们如何才能完全按照模板中指定的方式显示它?剑道控件似乎正在向文本的大写部分添加文本转换样式。如果将以下样式添加到自定义文本周围的跨距中,是否会阻止它?文本转换:无@Artileech现在我回到电脑前,看起来剑道添加了.k-nodata类,其中包含文本转换:大写,按照我上面所说的添加文本转换:没有样式适合您现在很完美,谢谢@G_P!您是否希望更新您的答案,以包含正确的跨度,以便其他人看到此帖子?我的自定义“无数据”消息很高兴它为您解决了问题-我更新了答案,为您的答案添加了带有样式覆盖的跨距,这可能在其他场景中对我们有所帮助。但是在这个场景中,我们想在视图本身中为特定的DropDownListFor控件添加属性。感谢您的回答,这在其他场景中可能会对我们有所帮助。但是在这个场景中,我们希望在视图本身中为特定的DropDownListFor控件添加属性。