[ASP.NET] 抓取WEB使用者控制項(ASCX)中的控制項

摘要:[ASP.NET] 抓取WEB使用者控制項(ASCX)中的控制項

之前做搜尋功能由其他頁面,post查詢字串到search.aspx的查詢頁面,
因為我是把整個網站套用Master,然後Master裡面會有些ASCX,
把 <asp:TextBox ID="txtTopSearch"   runat="server"></asp:TextBox>的 text  POST到search.aspx,
一般我們是用
Dim search As TextBox
search = CType(PreviousPage.FindControl("txtTopSearch"), TextBox),來指定search,
但是在此會找不到控制項,
search = CType(PreviousPage.FindControl("ctl00_top1_txtTopSearch"), TextBox) 這方式還是不行,
原因是忽略了master,因此修改變成,
search = CType(PreviousPage.Master.FindControl("txtTopSearch"), TextBox) 就行了嗎?
不,到此為止還是不行,因為漏了ASCX的控制項,所以最後一步須修改成,
search = CType(PreviousPage.Master.FindControl("top1").FindControl("txtTopSearch"), TextBox)
這樣就ok了,就可以確實抓到那個控制項