0

我有一个 Radgrid,为删除设置了 GridButtonColumn。我正在使用确认对话框并使用资源文件根据用户的语言设置 ConfirmText 和 ConfirmTitle 属性。如何在确认对话框中找到确定按钮、取消按钮和关闭工具提示,以便根据用户语言进行相应设置?

4

1 回答 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 回答