2010-02-03 67 views
4

在使用帶有OnClientClick屬性的ASP.NET LinkBut​​ton時,我遇到了一些奇怪的行爲。asp.net linkbutton onclientclick and postback

ASPX

<asp:DropDownList ID="test" runat="server" AutoPostBack="true"> 
    <asp:ListItem>test1</asp:ListItem> 
    <asp:ListItem>test2</asp:ListItem> 
    <asp:ListItem>test3</asp:ListItem> 
</asp:DropDownList> 

<asp:LinkButton CssClass="button" ID="btnDeleteGroup" runat="server"> 
    <img src="cross.png" alt="delete-group" width="16" height="16" /> 
    <span><asp:Literal ID="lblDeleteGroup" runat="server" Text="Delete" /></span> 
</asp:LinkButton> 

代碼隱藏

protected void Page_Load(object sender, EventArgs e) 
{ 
    btnDeleteGroup.OnClientClick = "return confirmAction('delete?');"; 
} 

沒有的OnClientClick,一切都很好。 使用OnClientClick時,我的LinkBut​​ton會在發生回發時消失(使用DropDownList)。

another topic中,我找到了一個將EnableViewState設置爲false的解決方案。 但是我寫的應用程序是多語言的,所以EnableViewState設置爲「false」,我也失去了我的翻譯。

if (!Page.IsPostBack) { 
    // translate all form elements 
    TranslationUI(); 
} 

我寧願不叫!Page.IsPostBack方法外這種方法,因爲TranslationUI法()轉換基於數據庫的表單元素。

+0

哇,這是非常奇怪的。我可以在頁面回後重現此以及..在出現的標記,用於鏈接按鈕對應的''標籤不包含任何嵌套標籤下去了。這就是它看起來消失的原因。 – 2010-02-03 16:27:57

回答