-1

所以我注意到,如果我的 SOURCE 页面在 asp:Content 块(母版页)中有 TextBox 等,则 PreviousPage 和 Request.Form 不起作用

有解决方法还是我不明白什么?

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" MasterPageFile="Menu.master"  %>

<asp:Content ID="pageHead" ContentPlaceHolderID="pageHead" Runat="Server">
    <title>Whatever</title>
</asp:Content>


<asp:Content ID="pageContent" ContentPlaceHolderID="pageContent" Runat="Server" >
    <asp:TextBox runat="server" ID="txtTester" Text="YES"></asp:TextBox>
    <asp:Button runat=server ID="btnTest" PostBackUrl="~/Process.aspx" />
</asp:Content>

目标代码隐藏:

public partial class _Default : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        ltlDebug.Text = Request.Form["txtTester"];
        //Doesn't get the var, only if I remove it from master page model in source page
    }
}
4

2 回答 2

0

您可以使用 response.redirect("yoursite.aspx?parameter1=value"); 为了那个原因。

于 2013-05-03T20:29:17.553 回答
0

这类似于如何通过输入名称从 Request.Form 集合中读取输入值

控件的 Form 键是控件的唯一 ID。当您将控件嵌套在实现 INamingContainer 的包含控件(例如 Content)中时,ASP.NET 将使用嵌套控件的名称来限定嵌套控件的 id(和名称)。

因此,Form 键将是 Content 和 TextBox 控件 ID 的串联 - 类似于“pageContent$txtTester”。您可以查看页面生成的标记并使用文本框的任何 id 值。

于 2013-05-03T20:49:46.220 回答