2014-10-29 74 views
1

我想用一個資源文件,以顯示其顯示在客戶端單擊對話框中的資源文件,我已經嘗試下面但是我得到的結果的屏幕截圖:使用上的按鈕的OnClientClick

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

enter image description here

我已經看到了一些人建議在身後但是這種控制是包裹在一箇中繼器的代碼設置此,一旦ItemCommand事件被觸發,需要確認的對話,我只能得到它的句柄已被確認。

這感覺就像是一個捕捉22和IM出來的想法,任何建議傢伙?

+2

您可以在代碼中直放站的ItemDataBound事件中設置後面。 – 2014-10-29 14:57:38

回答

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

這對我不起作用。它使用正確的資源並顯示正確的消息,但無論我單擊 - 確認,取消,或者即使我只關閉警告框 - 結果始終相同,記錄被刪除。 – Barnabeck 2016-11-27 14:55:30

-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

」/> 「OnClientClick =」return DeleteItem()「/> – 2017-04-07 16:20:33

相關問題