asp.net学习笔记

1)  asp.net中的事件执行顺序:

先运行客户端的onclientclick,再运行sever端的onserverclick。

当点击按钮,以下事件都会重新执行一次,这时的执行顺序为:

1. OnPreInit
2. OnInit
3. OnInitComplete
4. OnPreLoad
5. Page_Load
6. OnLoad
7. Button_Click
8. OnLoadComplete
9. OnPreRender

 

这跟winform中的事件响应机制差别很大,在webform中触发onclick事件的时候,由于以上事件都会执行一次,所以很有可能造成错误。在赋值之前,这个只很有可能已经在之前的事件中发生变化了,以至于之后的操作发生错误。

 

 

2) ispostback

判断是否是第一次加载的页面。通常用在page_load中,

If(!ispostback)

{

  初始化页面…

}

如果不设置的话,在我们点击一下按钮的时候,page_load中的代码也会执行一遍,从而导致窗口中的信息回到初始化的状态,用户之后进行的操作就没了。

 

 

3) using的用法:

1.using+命名空间:以在程序中直接用命令空间中的类型

 

2.using+别名:包括详细命名空间信息的具体的类型(2个命名空间中存在重名类型)

using ListViewItem = System.Web.UI.WebControls.ListViewItem;

 

3. using+语句:定义一个范围,在范围结束时处理对象

  离开这个区域后自动Dispose对象

 

 

4)  ajax 一部加载网页信息,可以局部刷新网页。

            $.ajax({

                type: "post",  

            url: "UI.aspx/delete",

                dataType: "json",

                data: "{'id':'" + e.attr("rowid") + "'}",

                contentType: "application/json; charset=utf-8",

                success: function () {

                    alert("成功后进行的操作");

                },

              error:function(){

                    alert("失败后进行的操作");

               }

            });

 

Ajax({服务器上的函数,客户端的函数})

服务器上的函数:

type  请求类型(GET,POST),默认为GET

url   执行的函数在服务器上的地址 页面(含后缀)/函数的名称

data  发送给服务器的数据,用于传递参数{‘参数名称’:传递的参数},必须是{key:value}的格式

datatype  预期的服务器返回的数据的格式

error 在请求失败后会进入的部分

success 在请求成功后会进入的部分

 

 

5)  runat=”server”

在html标签中加入这个后就可以在c#端使用这个节点了

但是键入之后再javascript中在动态添加的事件就无法实现了。

 

 

6)  repeater控件:

这个控件常在实现有重复的项目列表时使用,根据它绑定的数据他会重复执行,直至被绑定的数据源大最后一行。

 

绑定数据源:

        this.repeater.DataSource = mdata;

        repeater.DataBind();

 

repeater的OnItemCommand事件,在repeater中的空间触发事件时被调用,并可以将触发控件中的<asp:LinkButton  CommandArgument(指令参数),CommandName(指令名称)/>参数传递给服务器,从而实现事件的定位。

 

<%# DataBinder.Eval(Container.DataItem,"id") %>得到repeater中被绑定的数据的id标签下的值

 

 

 

 

Ado.net C#操作sqlserver数据库

 

using System.Data.SqlClient;

using System.Data; //dataset

 

//数据库的位置,名称,用户名,密码

static string mypath = "server=.;database=DB_SqlServer;uid=username;pwd=password";

//创建一个连接

Using(SqlConnection mycon = new SqlConnection(mypath))

 

//返回表中的所有数据,并得到一个dataset,可以直接和asp.Net的控件绑定

Sql=”select * from tabel”

SqlDataAdapter adapter = new SqlDataAdapter(sql, mycon);

mycon.Open();

DataSet ds = new DataSet();

adapter.Fill(ds);

 

//带有参数的sql执行

string mysql = "insert into img values(@name,@img)";

SqlCommand com = new SqlCommand(sql, mycon);

//将其中的@name,@img替换为指定的值

SqlParameter[] sp = new SqlParameter[] { new SqlParameter(_name, name), new SqlParameter(_path, path) };

com.Parameters.AddRange(sp);

//开始连接数据库

mycon.Open();

//返回操作影响的行数

com.ExecuteNonQuery();

 

转载于:https://www.cnblogs.com/hfliu/archive/2013/04/16/3024219.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值