【问题标题】:ASP.NET: Get value of literal.text after page load?ASP.NET:页面加载后获取literal.text的值?
【发布时间】:2013-09-13 13:52:08
【问题描述】:

我正在尝试使用以下代码获取文字的文本值,以便可以使用 PreviousPage 将其传递到下一页,但字符串为空,我认为它会在 Page_Init 阶段之后清除值。

Public ReadOnly Property SendText() As String
    Get
        Return literal1.Text
    End Get
End Property

有没有办法解决这个问题?

我正在尝试使用以下方法访问下一页上的数据:

<%@ PreviousPageType VirtualPath="~/Spacing.aspx" %> 
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
    litTables.Text = PreviousPage.SendText
End Sub

如果我可以将 SendText 设置为整个 div 的 HTML 内容会更好,但我看到访问它的唯一方法是使用 JavaScript document.getElementById("tables").innerHTML,但我没有看看我如何使用 Get 将其合并到 ReadOnly 属性中。

我正在使用 Visual Studio Express For Web 2012。

【问题讨论】:

  • 你能展示一个更完整的例子来说明你正在尝试做什么吗?听起来您误解了 Web 应用程序和/或 ASP.NET 页面生命周期的一些关键概念,但您使用的术语使其非常不清楚。您何时/如何尝试访问此属性?
  • 我添加了更多信息,我基本上是在尝试这样做:msdn.microsoft.com/en-us/library/6c3yckfw(v=vs.100).aspx“从源页面获取公共属性值”。
  • 这看起来像是一种将信息从一个页面上下文传递到另一个页面的非常奇怪的方式。传递的实际信息是什么?在这种情况下,将其存储在 Session 之类的东西中似乎更有意义。或者也许将它包含在第二页链接中的查询字符串中。通常一个页面可以在一个表单中将数据发布到另一个页面,但是 WebForms 在这方面破坏了 HTML 表单。
  • 听起来您正在跨页面传递一组表格?您可以根据需要使用一个类在每个页面上根据 cookie 值生成表格吗?
  • 多用户站点上的数据非常多,所以我不希望它存储在任何地方,我想我会尝试按照下面的建议使用 POST,不确定你是否可以这样做但是使用超链接?

标签: asp.net vb.net webforms


【解决方案1】:

这并不是在 ASP.NET 应用程序的页面之间传递数据的真正方式。推荐的方法是 POST 数据或通过 URL 传递数据。

【讨论】:

  • 我将如何使用 POST?我已经查过了,但看不到如何将数据传输到表单中?顺便说一下通过网址传的太大了。
【解决方案2】:

我需要传输的数据是:

<div id="tables">
        <asp:Literal ID="lit1" runat="server" ValidateRequestMode="Disabled"></asp:Literal>&nbsp;
        <asp:Literal ID="lit2" runat="server"></asp:Literal>&nbsp;
        <asp:Literal ID="lit3" runat="server"></asp:Literal>
    </div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-11-23
    相关资源
    最近更新 更多