Использование файла ресурсов на кнопках OnClientClick

1

Я хотел бы использовать файл ресурсов, чтобы отобразить диалоговое окно, которое отображается на клике, я попробовал ниже, но я получаю результат на снимке экрана:

               <asp:Button ID="editview" runat="server" Text="<%$ Resources:btnEditViewText%>"  CssClass="buttonlink"                         
               OnClientClick="return confirm('<%$ Resources:btnEditViewText%>');"
               CommandName="editview" 
               CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Id")%>'/>

Изображение 174551

Я видел, как некоторые люди предлагают установить это в коде, но этот элемент управления завернут в ретранслятор, и я могу получить его только после того, ItemCommand событие ItemCommand будет ItemCommand, что требует подтверждения диалога подтверждения.

Это похоже на уловку 22, и из идей, каких-нибудь предложений?

  • 2
    Вы можете установить его в коде внутри события ItemDataBound ретранслятора.
Теги:

3 ответа

1
Лучший ответ

Спасибо, Бен, это сработало

    protected void rptVessels_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        Button button = (Button)e.Item.FindControl("editview");
        button.OnClientClick = String.Format("return confirm('{0}')", GetLocalResourceObject("alertEditVesselText").ToString());
    }
0

Это мой код, и он работает! Но я также предпочитаю использовать код для решения, особенно для отдельных элементов управления.

В моем проекте я использую это во вложенных репитерах, поэтому мне не нужно использовать метод OnItemDataBound. Это очень просто...

OnClientClick='<%#String.Concat("if ( !confirm(\u0027", Resources.Resource.AreYouSureToDelete, "\u0027)) return false;") %>'
  • 0
    Это не работает для меня. Он использует правильный ресурс и показывает правильное сообщение, но что бы я ни щелкнул - подтвердите, отмените или даже если я просто закрою окно предупреждения - результат всегда одинаков, и запись удаляется.
-1

Я нашел лучшее решение

<script type="text/javascript">
    function DeleteItem() {
        if (confirm(document.getElementById('<%=hdelete.ClientID%>').value)) {
            return true;
        }
        return false;
    }
 </script>

 <asp:HiddenField runat="server" ID="hdelete" Value="<%$Resources:Resources, Confiemdelete %>" />
 <asp:Button ID="btnmergewithname" runat="server"  Text="<%$Resources:Resources, Delete %>" OnClientClick="return DeleteItem()"/>
  • 0
    <asp: HiddenField runat = "server" ID = "hdelete" Value = "<% $ Resources: Resources, Confiemdelete%>" /> <asp: Button ID = "btndelete" runat = "server" Text = "<% $ Ресурсы: Ресурсы, удалить%> "OnClientClick =" return DeleteItem () "/>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню