2013-05-03 67 views
-1

所以我注意到PreviousPage和Request.Form不起作用,如果我的SOURCE页面有一个asp:内容块(主页)内的文本框和这样的:如何在源数据位于asp:Content块中的页面之间传递数据?

有没有解决方法或我不理解的东西?

<%@ 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 
    } 
} 

回答

0

这与How to read input value from the Request.Form collection by input name相似。

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

因此,表单键将是内容和TextBox控件ID的连接 - 就像“pageContent $ txtTester”一样。您可以查看页面的生成标记并使用文本框的id值。

+0

谢谢,希望我可以upvote! – 2013-05-03 22:20:21

0

您可以使用Response.Redirect( “yoursite.aspx参数1 =值?”);为了那个原因。

+0

即GET我想使用POST? – 2013-05-03 20:32:15

+0

(如果它只是一个或两个增值税我会使用GET,但我在变数上处理很多) – 2013-05-03 20:37:33