c# asp.net ispostback 的应用

c#中关于IsPostBack :

Page.IsPostBack是一个标志:当前请求是否第一次打开。  
   
(1) 当通过IE的地址栏等方式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以 POST的方式提交的服务器时,页面就不再是第一次打开了。  
   
(2) IsPostBack只有在第一次打开的时候是false,其它时候都是true   
    
(3) .Net判断一个Page是否第一次打开的方法:Request.Form.Count>0  

(4)每次页面Load的时候,根据需要把每次都要加载的代码放在IsPostBack中,只需要加载一次的代码放在if(!IsPostBack)中。
(5)每次用户回传服务器任何信息的时候,都会引发isPostBack属性用来判断此用户是否曾经做过登陆或者其他事件

自己的小例子

写了个关于猜数字的

小程序

 

public partial class _Default : System.Web.UI.Page
{
    //产生的随机数
    int n;
    //得到输入的数
    int gettext;
    //记录产生的随机数
    int d;
    //计入次数
    static    int i ;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            // 网页第一次加载时执行的操作
            n = this.suijishu();
            Label2.Text = n.ToString();
            i = 0;

        }
        else
        {
            d = Convert.ToInt32(Label2.Text);
            i++;
        }

 


    }


    protected void Button1_Click1(object sender, EventArgs e)
    {

        try
        {   //得到输入的数
            gettext = Convert.ToInt32(TextBox1.Text);

            //将判断结果赋给label
            Label1.Text = this.panduan(gettext, d, i);

 

        }
        catch (Exception ex)
        {  
           
            Label1.Text = "请输入数字!!!";
            Console.WriteLine(ex.Message);
        }

    }


    /// <summary>
    /// 判断输入的数和随机数是否相等
    /// </summary>
    /// <param name="input">输入的数</param>
    /// <param name="n">随机数</param>
    /// <returns></returns>
    public string panduan(int input, int n, int i)
    {
        //int i = 1;
        //判断
        if (input == n)
        {
            if (i == 0)
            {
                i = 1;
                //Console.WriteLine("你太聪明了,太有才了");
                return "你太聪明了,太有才了。你今天的运气很旺";
            }
            else if (i >= 2 && i <= 6)
            {
                i = 1;
                //Console.WriteLine("这么迅速就猜出来,你很聪明");
                return "这么迅速就猜出来,你很聪明,你今天的运气不错呀";
            }
            else if (i >= 7)
            {
                i = 1;
                //Console.WriteLine("你太逊了,继续努力吧");
                return "你太逊了,继续努力吧,你今天的运气不是很好,出门要小心呀";


            }
            //Response.Redirect(Request.Url.ToString());
        }
        else if (input > n)
        {
            //i++;
            //Console.WriteLine("你猜的大了点");
            return "你猜的大了点";

 

        }
        else if (input < n)
        {
            //i++;
            //Console.WriteLine("您猜的小了点");
            return "你猜的小了点";


        }

        return "";


    }

    /// <summary>
    /// 产生随机数
    /// </summary>
    /// <returns></returns>
    public int suijishu()
    {
        //new 一个随机数生成器
        Random random = new Random();
        //生成随机数,在10--289
        int n = random.Next(0, 100);
        return n;
    }
    protected void Button2_Click(object sender, EventArgs e)
    {
        Response.Redirect(Request.Url.ToString());
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值