我已經看了幾個similarquestions這一個和現在我嘗試使用FindControl方法沒有成功。在母版頁(S)由用戶控制數據傳遞到內容頁
我的Web窗體應用程序有幾個母版頁。所有母版頁通用都是頂部導航用戶控件中的搜索框和按鈕。我試圖抓取在SearchResults頁面上輸入的搜索詞:
HtmlGenericControl topNavDiv = (HtmlGenericControl)Master.FindControl("topNavDiv");
Control topNav = (UserControl)Page.FindControl("topNav");
if (topNav != null)
{
TextBox searchBox = topNav.FindControl("searchBox") as TextBox;
if (searchBox != null)
{
Response.Write(searchBox.Text.Trim());
}
else
{
resultsPanel.Visible = false;
messagePanel.Visible = true;
}
}
在第一行中,topNavDiv變量爲null。我正在考慮訪問通過一個母版頁屬性的用戶控件,但與幾個不同的母版頁,我不知道如何確定母版頁的ID作爲搜索可以從任何地方在現場啓動...
UPDATE:
我能搶topNav DIV,搜索框的文本框,如下所示:
Control topNav = (UserControl)Master.FindControl("topNav");
if (topNav != null)
{
TextBox searchBox = topNav.FindControl("searchBox") as TextBox;
if (!String.IsNullOrEmpty(searchBox.Text))
{
Response.Write(searchBox.Text.Trim());
}
else
{
resultsPanel.Visible = false;
messagePanel.Visible = true;
}
}
唯一的問題是,輸入的搜索框中的文本沒有被持久化。
你訪問這個http://forums.asp.net/post/1516314.aspx – marathonman
不使用嵌套母版頁... – IrishChieftain