PostBack IsPostBack

这涉及到aspx的页面回传机制的基础知识 postback是回传 即页面在首次加载后向服务器提交数据,然后服务器把处理好的数据传递到客户端并显示出来,就叫postback, ispostback只是一个属性,即判断页面是否是回传,if(!Ispostback)就表示页面是首次加载,这是很常用的一个判断方式.一个页面只能加载一次,但可以在加载后反复postback.

onclientclick和onclick区别

OnClientClick是客户端脚本,一般使用javascript,在客户端,也就是IE中运行,点击后马上执行
OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再运行。

其实有的时候需要客户端和服务端双重校验,为什么这么说呢? 比果说,一个用户名的文本框,在客户端我们通过JS校验,只能输入字母和数字,不能有特殊字符!通常情况下是没有问题的,但是总有那么一丢丢人想方设法的去“搞破坏” ,这个时候就需要进行双重校验了!说白了,就是服务端和客户端都进么校验!

比如说:Button有:OnClick事件和OnClientClick属性,前者一般就是服务端的点击事件!后者则是客户端的点击事件!

我们来做一个测试!在Default.aspx页面中添加如下代码!

<script language="javascript" type="text/javascript">
        function buttonClick() {
            alert("我是客户端点击事件");
            return false;     
        }

</script>

页面代码:

<form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="些Button是服务端控件,默认使用OnClientClick事件,请禁用浏览器的Js功能体验"
            OnClick="Button1_Click" OnClientClick="return buttonClick();" />
        <asp:Label ID="Label1" runat="server" Text=""></asp:Label>
    </div>

</form>

cs文件代码:

protected void Button1_Click(object sender, EventArgs e)
{
    this.Label1.Text = "我是服务端点击事件";

}

大家运行看看是什么效果?  你可能会发现,只弹出了JS中的代码! 没错,这正是我们想要的效果,通过return false 来"屏蔽"服务端的校验!好处是什么? 就是不用刷新页面呀!

你再把浏览器的脚本功能禁用了,你再试一试,看看又是什么效果?

呵呵,通过双重校验就能确保用户的非法录入,这正是我们想要的结果!

时间: 2025-01-31 06:50:11

PostBack IsPostBack的相关文章

login.aspx.cs

using System;                                                                 //指令+系统(命名空间)using System.Collections.Generic;                                 // 集合,泛型 using System.Linq;                                                         //  语言集成查

010-判断是否回传IsPostBack属性

属性IsPostBack:判断是否回传 如果是第一次请求,则返回false 如果是回传请求,则返回true->说明:只有使用服务器端表单才可以正常使用IsPostBack->使用情境:当在一个页面中,既写了第一次请求代码,也写了回传处理代码,则需要进行判断处理 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits=&

Asp.net中Postback及Callback

我们知道,在默认的情况下,当我们点击Asp.net Page中的一个服务器Button时(默认其实是Submit Form),会导致Page被Recreated,这个过程我们称之为Postback,它是Page生命周期的一个阶段.我们将从以下几个方面来简单谈谈Asp.net中的Postback: 为什么使用Postback Postback工作过程 为什么使用Callback Callback工作过程 Postback与Callback的区别 参考资料 1.为什么使用Postback 当我们每次

关于IsPostBack

我们在写程序时,后台代码的Page_Load()事件中总是习惯的写上if(!IsPostBack){},然后写些代码逻辑,但自己对于为什么要有这个判断,或者说这个判断是否是必须的,以及何时不走里边的代码总是有些不确定,于是花点时间上网详细了解下做个总结. 一.IsPostBack的定义:  获取一个值,该值指示当前页面是首次加载还是为了响应客户端回发事件而加载 定义的很清晰,略加分析:就是说这是一个bool值,如果我们是第一次访问当前页面,这个bool值为false(不是回发加载),当我们触发页

ASP.NET中IsPostBack属性研究

通过页面的IsPostback属性,可以检查 .aspx 页是否为传递回服务器的页面:当加载页面并对控件的更改属性处理之前,用户可以在page_Load事件中检查该页面是否被传递回的页面. 一般是在page_load中检查是否是第一次加载本页或是判断是否是用户提交(PostBack)if (!IsPostBack) {//do something}在用DataGrid访问和更新数据库时没有注意到这个问题,会出现各种各样的奇怪问题,比如我的这种. 问题描述:用DataGrid访问和更新数据库(SQ

asp.net &quot;callback&quot; 和 &quot;postback&quot; 的区别.

下图解释了基于 asp.net的 "postback" 和 "callback"的生命周期: Postback 是在将 整个页面的数据 从 client 提交到 server 的时候发生.此时我们说 'data is posted-back to the server'.所以整个页面会刷新. Callback 是 Postback 的另一种形式.是将 少量数据提交到服务器,并返回少量数据的过程,我们说 'calling the server, and receivi

isPostBack原理

1 /// <summary> 2 /// 为了区分是第一次直接进入页面还是点击提交以后进入页面,在form中增加一个隐藏字段: 3 // <input type="hidden" name="ispostback" value="true" />, 4 /// 如果能够从Request中读取到ispostback=true就说明是点击提交以后重新进入ashx, 5 /// 否则就是第一次进入ashx.ispostback

isPostback 的原理及作用(很easy)

1.IsPostBack用来推断表单是否是回发. (不是第一次请求),是点击表单的提交button回发过来的.是否是回发与get请求还是Post请求无关.可是普通情况下回发都是Post请求. 一般Get请求都是第一次载入. 2.仅仅有当使用server端表单<form runat="server">IsPostBack才干够使用. 假设使用client表单,则IsPostBack永远都是False.由于当使用server端表单的时候会自己主动生成一个隐藏域,才该隐藏域中,s

IsPostBack

1.IsPostBack介绍Page.IsPostBack是一个标志:当前请求是否第一次打开. 调用方法为:Page.IsPostBack或者IsPostBack或者this.IsPostBack或者this.Page.IsPostBack,它们都等价. 1)当通过IE的地址栏等方式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以POST的方式提交的服务器时,页面就不再是第一次打开了.(每点击一次按钮,都是一次加载) 2)IsPostBack只有在第一次打开的时候是fal