0

Delete 用に GridButtonColumn が設定された Radgrid があります。確認ダイアログを使用し、リソース ファイルを使用してユーザーの言語に従って ConfirmText プロパティと ConfirmTitle プロパティを設定しています。ユーザーの言語に応じて設定できるように、確認ダイアログの [OK] ボタン、[キャンセル] ボタン、および [閉じる] ツールチップにアクセスするにはどうすればよいですか?

4

1 に答える 1

0

そのためには、独自の確認テンプレートを作成する必要があります。

まず最初に、文化情報を保存する隠しフィールドをページに 1 つ追加する必要があります。(可能であれば、このコードをマスターページに配置して、すべてのページで機能するようにします)。

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 に答える