页面加载期间标签更改

时间:2016-05-31 06:42:11

标签: c# asp.net pageload

我试图将密码值捕获到Label 4位数字 1小写字母

这是我添加数字和数字

的方法
public void SaveTransactionID()
{
    string password = lblStart.Text + lblStop.Text;
    lblPassword.Text = password;
}

发电机:

private void GenRandomNumber()
{
    Random generator = new Random();
    String r = generator.Next(0, 10000).ToString("D4");
    lblStart.Text = r;
}

//Generate Random Letter
static class RandomLetter
{
    static Random _random = new Random();
    public static char GetLetter()
    {
        // This method returns a random lowercase letter.
        // ... Between 'a' and 'z' inclusize.
        int num = _random.Next(0, 26); // Zero to 25
        char let = (char)('a' + num);
        return let;
    }
}

我的页面加载

protected void Page_Load(object sender, EventArgs e)
{
    char lowerCase;
    lowerCase = Convert.ToChar(RandomLetter.GetLetter());
    lblStop.Text = lowerCase.ToString();
    GenRandomNumber();
}

我知道我的密码会改变每个页面加载。这就是我尝试将其保存在Label上的原因,以便我可以在页面再次加载时捕获密码。但是在页面加载期间我的SaveTransactonId()也会发生变化。即使页面加载,我怎么能存储我的密码值?

3 个答案:

答案 0 :(得分:2)

以下是一个例子:

protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
        {
           char lowerCase;
           lowerCase = Convert.ToChar(RandomLetter.GetLetter());
           lblStop.Text = lowerCase.ToString();

           GenRandomNumber();
        }
    }

这将解决您的问题。

修改

这里IsPostBack = true或false时出现short explanation条件。对于用于开发和调试代码的单台计算机,"客户端"是你的浏览器和"服务器"是你的电脑。 (在链接的文章中,问题不是"什么是IsPostBack?"正确的问题是"什么是PostBack?"有一个更好,更复杂的图表;我找不到它,但是这样做。)

PostBack是向服务器提交ASP.NET页面以进行处理的过程的名称。如果(例如)要针对某些来源(例如验证数据库的用户名和密码)检查页面的某些凭证,则完成PostBack。这是客户无法独立完成的事情,因此必须将这些细节发回['通过用户交互到服务器。

回发是从客户端(浏览器)到服务器然后返回到客户端的往返。这使您的页面可以通过服务器上的asp引擎和任何要更新的动态内容。

有关PostBack问题的更详细解答,see here

这是ASP.NET(网页)页面生命周期概述的description,其中一些涉及PostBack。

答案 1 :(得分:1)

将你的代码编写在if(!Page.IsPostBack){//将你的逻辑放在这里。}

你可以在Session [" sessionKey"] = value;

中保存你的价值

你可以通过检查session is not null来检索它

if(Session [" sessionKey"]!= null);

lblPassword.Text = Session [" sessionKey"];

答案 2 :(得分:0)

您可以将值存储在Session变量中;您还可以通过Page.IsPostBack属性控制初始页面加载Page_Load与后续页面重新加载(每个会话)中运行的内容。