我有一个 Radgrid,为删除设置了 GridButtonColumn。我正在使用确认对话框并使用资源文件根据用户的语言设置 ConfirmText 和 ConfirmTitle 属性。如何在确认对话框中找到确定按钮、取消按钮和关闭工具提示,以便根据用户语言进行相应设置?
问问题
1243 次
1 回答
0
为此,您必须创建自己的确认模板。
首先,您必须在页面中添加一个隐藏字段来存储您的文化信息。(如果可能的话,不要将此代码放在母版页中,以便在每个页面中都可以使用)。
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
HtmlInputHidden hi = new HtmlInputHidden();
HtmlHead head = (HtmlHead)Page.Header;
hi.ID = "HtmlInputHiddenLang";
hi.Attributes.Add("class", "HtmlInputHiddenLang");
hi.Value = System.Threading.Thread.CurrentThread.CurrentUICulture.Name;
head.Controls.Add(hi);
}
然后在为 radwindowmanager 创建您自己的主题或模板之后。
<telerik:RadWindowManager runat="server" SkinID="CustomSkin">
<ConfirmTemplate>
<div class="rwDialogPopup radconfirm">
<div class="rwDialogText">
{1}
</div>
<div class="rwDialogButton">
<a onfocus="RadWindowConfirm_DefaultFocus();" onclick="$find('{0}').close(true);"
class="MyrwPopupButton" href="javascript:void(0);">
<img id="Img2" runat="server" class="imgCurrentCulture" src="~/Images/CURRENT_CULTURE/Yes.png"
onmouseover="ImageButtonMouseOver(this);" onmouseout="ImageButtonMouseOut(this);" /></a>
<a id="hrefNo" name="hrefNo" onclick="$find('{0}').close(false);" class="MyrwPopupButton"
href="javascript:void(0);">
<img id="Img3" runat="server" class="imgCurrentCulture" src="~/Images/CURRENT_CULTURE/No.png"
onmouseover="ImageButtonMouseOver(this);" onmouseout="ImageButtonMouseOut(this);" /></a>
</div>
<script type="text/javascript">
$('img.imgCurrentCulture').each(function () {
var culture = $('.HtmlInputHiddenLang')[0].value;
this.src = this.src.replace('/CURRENT_CULTURE/', '/' + culture + '/');
});
function RadWindowConfirm_DefaultFocus() {
document.getElementById("hrefNo").focus();
}
</script>
</div>
</ConfirmTemplate>
</telerik:RadWindowManager>
根据上面的代码,默认 url 类似于“~/Images/CURRENT_CULTURE/Yes.png”。一旦你在隐藏字段中设置了你的文化名称,它就会被 CURRENT_CULTURE 替换为 En_us,所以你的最终图像 url 是“~/Images/en_us/Yes.png”。
注意:我在我的代码中使用了 jquery,所以不要忘记在你的项目中添加 jquery。
于 2012-05-04T06:20:28.117 回答