2009-09-19 176 views
1

撓撓我的腦袋。在以下代碼的呈現HTML中,btnEdit(在GridView中)在onclick參數(onclick =「javascript:WebForm_DoPostBack ...」)中具有正確的Javascript。 btnAddNew根本沒有onclick處理程序。爲什麼? 沒有編譯或運行時錯誤,頁面使用了母版頁的形式標記..PostbackUrl和查詢字符串參數

<ContentTemplate> 
<asp:ImageButton ID="btnAddNew" SkinID="btnAddNew" runat="server" 
    PostBackUrl='<%# "EditUser.aspx?action="+Constants.actionAdd %>' /> 
<asp:GridView ID="UserGridView" 
     runat="server" 
     DataKeyNames="UserId" 
     > 
     <Columns> 
     <asp:TemplateField 
       <ItemTemplate> 
        <asp:ImageButton id="btnEdit" SkinID="btnEdit" runat="server" 
        PostBackUrl='<%# Eval("UserId", "EditUser.aspx? 
        action="+Constants.actionEdit+"&uid={0}") %>' /> 
       </ItemTemplate> 
     </asp:TemplateField>           
     </Columns>   
</asp:GridView> 

+0

檢查PostBackUrl是否完好無損地顯示呈現的頁面。如果是這樣,那麼asp:ImageButton控件沒有PostBackUrl屬性。 – 2009-09-19 19:57:27

回答

4

它看起來像你不需要數據綁定標籤(<%#)爲btnAddNew按鈕。因此,您可以在服務器端分配此屬性:

btnAddNew.PostBackUrl = "EditUser.aspx?action=" + Constants.actionAdd; 
+0

謝謝,作品當然。我不但不需要數據綁定評估器標籤,但是我不能將它用於沒有數據綁定的項目。咄! – cdonner 2009-09-19 20:05:15