2011-10-14 68 views
1

我想要做的就是隱藏啓動查詢的按鈕(btnQuery)而不顯示任何結果,並使其他按鈕可以重新加載或重定向頁面。我在這裏有什麼似乎運行,斷點穿過子,但按鈕狀態不會改變...任何提示/建議?如何調用EmptyDataTemplate中的CodeBehind子項(C#)

ASPX前端

<EmptyDataTemplate> 
    <h1> No records found !!! </h1> 
    <br /> 
    <%SwitchButtons();%> 
    <asp:Button id="btnReturn" runat="server" Text="Return" onclick="btnReturn_Click" /> 
</EmptyDataTemplate> 

aspx.cs代碼隱藏 btnReturn設置可見=假在pageLoad的

protected void SwitchButtons() 
{ 
    btnQuery.Visible = false; 
    btnReturn.Visible = true; 
} 
+0

取決於你如何綁定gridview,你能顯示更多的代碼嗎? –

回答

1

無法通過ID直接訪問模板項目。閱讀MSDN文章:Locating a Control Inside a Hierarchy of Naming Containers

protected void SwitchButtons() 
{ 
    btnQuery.Visible = false; // Where is btnQuery? 
    Button btn1=(Button)FindControlRecursive(GridView1,"btnReturn"); 
    btn1.true; 
} 

private Control FindControlRecursive(Control rootControl, string controlID) 
{ 
if (rootControl.ID == controlID) return rootControl; 
    foreach (Control controlToSearch in rootControl.Controls) 
    { 
    Control controlToReturn = 
     FindControlRecursive(controlToSearch, controlID); 
    if (controlToReturn != null) return controlToReturn; 
    } 
    return null; 
} 
相關問題