我花了两天时间试图找出这个问题的解决方案,甚至尝试了 ExpertExchange,但我仍然无法得到解决方案。我是 ASP.Net(使用 C#)的新手程序员,我不想使用字符串/url 帖子
我有一个 MasterPage,其中有一个名为 tbSearchString 的文本框。这是一个简单的框,用户可以输入一些内容,然后它会回发到另一个页面 SearchResults.aspx 所以我还有其他页面,例如使用 MasterPage 的 Default.aspx。
我已经尝试了几乎所有东西,并且阅读了我在网上可以找到的几乎所有帖子,无论变量总是为 Null 是什么。
我在 searchResults loadpage 事件中使用了此代码,并且这些变量中的每一个都是空的,即使我在页面文本框中输入了一个值并单击按钮以回发到 SearchResults 页面,它唯一有效的时间是如果我是在 searchResults 页面上并提交。
搜索结果后端页面
protected void Page_Load(object sender, EventArgs e)
{
TextBox SearchString;
TextBox SearchString2;
TextBox SearchString3;
TextBox SearchString5;
if (Page.PreviousPage != null) //This is true on every test
{
SearchString = (TextBox)Page.PreviousPage.Master.FindControl("tbSearchString");
SearchString2 = (TextBox)PreviousPage.Master.FindControl("tbSearchString");
SearchString3 = (TextBox)Master.FindControl("tbSearchString");
TextBox LoginControlx = (TextBox)PreviousPage.FindControl("Form1");
if (LoginControlx != null)
{
TextBox SearchString4 = (TextBox)LoginControlx.FindControl("tbSearchString");
}
}
MainWebsite.Master 页面代码
<asp:TextBox ID="tbSearchString" runat="server"></asp:TextBox>
<asp:Button ID="btnSearch1" runat="server" Text="Search" PostBackUrl="~/SearchResultRentalEquiptment.aspx" />
我在 CS 后端页面中没有任何内容
所以在 Default.aspx 页面上
没什么特别的 只是母版页和一些文本内容,我在文本框中输入一些文本会转到 SearchResults 页面,但我无法从 Default 或任何其他页面的 Textbox 控件中获取该值。
智者怎么说?