繁体   English   中英

访问另一个aspx文件中的HTML元素的ID,然后将其用于另一个文件的代码隐藏文件中

[英]Accessing the ID of an HTML element in a different aspx file to then be used in the other file's code-behind file

我有2个aspx文件。 我们称第一个P1和第二个P2。 在P1中,我有一个ID为“ date”的HTML元素。 我想访问P2的C#文件背后的代码中的日期,但不确定如何执行此操作。 我正在使用Visual Studio。

我必须在P2的代码隐藏文件中使用“使用P1.aspx”吗? 我必须在P2的代码隐藏文件中声明P1的对象吗?

例如,在P2的代码隐藏文件中,为什么我不能执行以下操作:

P1对象=新的P1(); object.date = ...;

到目前为止,我无法以任何方式使P1被P2识别。 任何帮助,将不胜感激。 谢谢!

可以使用CrossPagePostBack ...实现更多信息。.您可以参考此链接。

https://docs.microsoft.com/zh-cn/previous-versions/ms178139(v=vs.140)?redirectedfrom=MSDN

例如:-P1.aspx

  <asp:Label ID="lblDate" runat="server" Text="Date"></asp:Label>
            <asp:TextBox ID="txtDate" runat="server"></asp:TextBox>
            <asp:Button ID="btnRedirect" runat="server" Text="Redirect" OnClick="btnRedirect_Click"/>

  protected void btnRedirect_Click(object sender, EventArgs e)
    {
        Server.Transfer("~/P2.aspx");
    }

假设...您的P1页面包含要在P2.aspx中访问的TextBox(txtDate)那是您可以使用CrossPagePostBack重定向到其他页面...

在P2.aspx页面加载页面事件中,您可以轻松找到上一页控件。

  if (this.Page.PreviousPage != null)
        {
            TextBox txtDate = (TextBox)this.Page.PreviousPage.FindControl("txtDate");
        }

有关更多信息...。

假设您的PreviousPage即P1.aspx具有主控件页面属性...那么您可以在P2.aspx页面上使用它。

 if (this.Page.PreviousPage != null)
        {
            Control ContentPlaceHolder1 = this.Page.PreviousPage.Master.FindControl("ContentPlaceHolder1");
            TextBox txtDate = (TextBox)ContentPlaceHolder1.FindControl("txtDate");
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM