来自用户输入的文本框的会话数据

时间:2013-02-07 22:12:56

标签: c# asp.net visual-studio-2010

我有这个项目,我希望通过其textbox1 about.aspx上的会话“sam”从label传输数据。问题是,当我输入一个数字时,它不会显示在label上。我的问题是我在“ΑριθμόςΕπιβατών:”textbox(例如一个数字)上键入内容,之后我点击提交我需要在“Ari8mos epivatwn:”旁边的页面上获取数字

Defaultaspxcs.txt:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication4
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Button1_Click2(object sender, EventArgs e)
        {
            string txt = TextBox1.Text;
            Session["sam"] = txt;
        }
    }
}

Aboutaspxcs.txt:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication4
{
    public partial class About : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Label1.Text = (string)Session["sam"];
        }
    }
}

Aboutaspx.txt:

<%@ Page Title="About Us" Language="C#" MasterPageFile="~/Site.master"  AutoEventWireup="true"
CodeBehind="About.aspx.cs" Inherits="WebApplication4.About" %>

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p>
    Ari8mos epivatwn :
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
</asp:Content>

https://www.dropbox.com/sh/4ftlddfhqo8n99p/gm-TNvol0S

1 个答案:

答案 0 :(得分:0)

标签的内容可能会被写入两次,而不是按照您期望的顺序。

首先熟悉asp.net page life-cycle

您会注意到PageLoad之前很久就会调用Render

因此,页面加载如下:

  1. PageLoad标签文字设置为代码中的某个数字
  2. 其他一些东西
  3. Render将Label文本设置为“Label”,因为这是您在chtml中定义的内容。
  4. 查看代码的这一部分:

    ...
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    ...
    

    请改为尝试:

    ...
    <asp:Label ID="Label1" runat="server"></asp:Label>
    ...