Kentico 9 cms:cmsTextBox 占位符本地化
Kentico 9 cms:cmsTextBox placeholder localization
我复制了搜索框 Web 部件,以便进行更改。我正在尝试将本地化字符串添加到占位符属性。
这不起作用:
<cms:CMSTextBox ID="txtWord" runat="server" EnableViewState="false" MaxLength="1000"
ProcessMacroSecurity="false" placeholder="<%= CMS.Helpers.ResHelper.GetString("kff.Search--PlaceHolderCopy")%>" />
这也不行:
<cms:CMSTextBox ID="txtWord" runat="server" EnableViewState="false" MaxLength="1000"
ProcessMacroSecurity="false" placeholder='<%= CMS.Helpers.ResHelper.GetString("kff.Search--PlaceHolderCopy")%>' />
我有一个有效的 JS 代码段,但我希望避免在 JS 文件中复制。
var $searchField = $('.searchTextbox');
if ($('body').hasClass('ENCA')) {
// search field placeholder copy
$searchField.attr('placeholder', 'Search For Stuff');
}
else {
$searchField.attr('placeholder', 'Recherche');
}
我可以将本地化字符串添加到服务器标记中吗,还是应该在后面的代码中完成。我也不确定代码背后的最佳位置,我看不到 Page_Load 块。
您可以在代码隐藏的 SetupControl
方法中添加以下行:
txtWord.Attributes.Add("placeholder", ResHelper.GetString("kff.Search--PlaceHolderCopy"));
您不能真正使用 <%=
语法来设置服务器端控件的属性。
此外,请注意 CMSTextBox
控件有一个 WatermarkText
属性,这可能正是您要查找的内容。它使用 AjaxControlToolkit 库中的 TextBoxWatermarkExtender
控件。
没有必要为了这么简单的事情而复制 webpart 和重复代码。只需为该 Web 部件创建一个不同的 webpart layout 并在面板上方添加以下代码:
<script runat="server">
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
txtWord.Attributes.Add("placeholder", ResHelper.GetString("yourstring"));
}
</script>
我复制了搜索框 Web 部件,以便进行更改。我正在尝试将本地化字符串添加到占位符属性。
这不起作用:
<cms:CMSTextBox ID="txtWord" runat="server" EnableViewState="false" MaxLength="1000"
ProcessMacroSecurity="false" placeholder="<%= CMS.Helpers.ResHelper.GetString("kff.Search--PlaceHolderCopy")%>" />
这也不行:
<cms:CMSTextBox ID="txtWord" runat="server" EnableViewState="false" MaxLength="1000"
ProcessMacroSecurity="false" placeholder='<%= CMS.Helpers.ResHelper.GetString("kff.Search--PlaceHolderCopy")%>' />
我有一个有效的 JS 代码段,但我希望避免在 JS 文件中复制。
var $searchField = $('.searchTextbox');
if ($('body').hasClass('ENCA')) {
// search field placeholder copy
$searchField.attr('placeholder', 'Search For Stuff');
}
else {
$searchField.attr('placeholder', 'Recherche');
}
我可以将本地化字符串添加到服务器标记中吗,还是应该在后面的代码中完成。我也不确定代码背后的最佳位置,我看不到 Page_Load 块。
您可以在代码隐藏的 SetupControl
方法中添加以下行:
txtWord.Attributes.Add("placeholder", ResHelper.GetString("kff.Search--PlaceHolderCopy"));
您不能真正使用 <%=
语法来设置服务器端控件的属性。
此外,请注意 CMSTextBox
控件有一个 WatermarkText
属性,这可能正是您要查找的内容。它使用 AjaxControlToolkit 库中的 TextBoxWatermarkExtender
控件。
没有必要为了这么简单的事情而复制 webpart 和重复代码。只需为该 Web 部件创建一个不同的 webpart layout 并在面板上方添加以下代码:
<script runat="server">
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
txtWord.Attributes.Add("placeholder", ResHelper.GetString("yourstring"));
}
</script>