我有一个带有TextBox和LinkButton的母版页。如果我在TextBox中输入文本并尝试从LinkButton的click事件访问它,它总是作为空字符串返回。我正在尝试获取输入的文本并将其作为参数传递给另一个页面。
示例代码:
Response.Redirect(HttpUtility.HtmlEncode(String.Concat("~/Pages/SearchResults.aspx?search=", Me.SearchTextBox.Text.Trim)))
答案 0 :(得分:1)
试试这个
Dim searchbox as TextBox = TryCast(Me.MasterPage.FindControl("SearchTextBox"), TextBox)
If searchBox IsNot Nothing
Response.Redirect(HttpUtility.HtmlEncode(String.Concat("~/Pages/SearchResults.aspx?search=", searchbox .Text.Trim)))
End If
答案 1 :(得分:1)
我会在Master页面上将控件公开为公共属性。这将为您提供更好的设计时支持。
母版页
<asp:TextBox ID="txtFirstName" runat="server" />
public string Firstname
{
get { return txtFirstName.Text; }
}
儿童页面
<asp:Literal ID="litText" runat="server" />
<asp:Button ID="btnMasterText" Text="Submit" runat="server"
onclick="btnMasterText_Click" />
protected void btnMasterText_Click(object sender, EventArgs e)
{
var myMasterPage = Page.Master as SiteMaster;
litText.Text = myMasterPage.Firstname;
}
“SiteMaster”是项目中Master页面的名称。