黑马程序员-ASP.NET(3)学习日记

来源:互联网 发布:深圳天猫淘宝培训 编辑:程序博客网 时间:2024/05/16 12:21

 

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

jQuery方法,使用实例

 html页面程序

<head>

<title>JqueryAjax</title>

<script src=”common/jquery-1.5.1.min.js” type=”text/javascript”></script>

<script type=”text/script”>

  $(function(){   //页面DOM树创建完毕后调用

  $(“#btnTextJqueryAjax”).click(function(){

  $ajax({

    type:”get”,

    url:”JqueryAjax.ashx”,//访问的地址即ashx页面的名称

    data:”name=john&location=Boston”,//要传的数据

    cache:false,//设置要不要使用缓存

    success:function(msg){

  alert(“Data Saved:”+msg);

}

  error:function(msg){

  alert(“Data Saved:服务器繁忙,稍后再试”+msg.toString());

}

})

})

})

</script>

</head>

 <body>

<input type=”button” id=”btnTextJqueryAjax” value=” btnTextJqueryAjax”/>

</body>

 

ashx(名称起为) JqueryAjax.ashx页面程序如下

  public void ProcessRequest(HttpContext context){

   context.Response.ContentType=”text/plain”;

   context.Response.Write=(“Hello,Word,”+Data Time.Now.ToString());

}

 

程序运行结果为:弹出窗口   Date Location:Hello,Word 2011-11-12 12:12:13

                           Date Location:服务器繁忙,稍后再试

ASP.Net服务器端控件是ASP.NetHTML的封装。

ClientID:空间对客户端的ID,客户端的ID跟服务器的ID不一定相同。

Vsiable属性设置为false之后将不把控件编译为HTML代码和元素的style.display=”none”效果不相同。

cssClass用法:

<head>

 <title></title>

//设置样式表

<style>

 .txtBox{border:1px solid #000;}

<style>

//设置样式表结束

</head>

<body>

<input type=”text” id=”textbox1” cssClass=”txtBox”/>// cssClass调用样式表,程序运行结果text有边框

</body>

 

Attributes 用来设置回去控件的额外属性 button1.Attributes[“onmouseover”]=”alert(‘hello’)”;

经常使用的服务器端控件控件:

Label  :Text为显示的文本  AssociatedControlID属性用来关联其他控件,当点击Label时,被关联的控件聚焦。他通过AssociatedControlId=”要关联控件的ID”来建立关联。

Literal:文本控件,就是将text属性的值展现出来。

Textbox :AutoPostBack设为true时,他的TextChange事件文本发生变化时才能出发代码应写为ontextchange=”textbox1-TextChange” AutoPostBack=”true”

LinkButton:实现的功能跟button差不多,只是button渲染的是按钮,LinkButton渲染的是超链接,不过他不能实现超链接,实现的是表单的Post

HyperLink实现的是超链接

Panel 控件用来盛放一些控件。如果设定GroupingText属性,那么就渲染为含有<fieldset>div,也就是GroupBox的效果,否则渲染为div。设置GroupingText属性为“你好”那么“你好“就出现在Panel的左上角

FileUpLoad控件,文件上传控件,属性FileContent以文件流上传的控件。实例:在aspx中托一个按钮(名称为button1)以及一个FileUpLoad控件(名称为FileUpLoad1),在aspx.cs中的代码如下:

  protected  void button1-Click(object sender,EventArgs e)

{

      if(this.FileUpLoad1.HasFile)

{

  //获取文件名称

string filename=System.Io.Path.GetFileName(this.FileUpLoad1.Filename);

  //形成上传的物理路径

  string phyPath=Server.MapPath(“要上传的地址”+filename);

  //上传到物理地址

  this.FileUpLoad1,SaveAs(phyPath);

  Response.Write(“上传成功”+phyPath);

}

}

 

HTML控件,Asp.netHTML控件当成普通字符串,渲染到浏览器端,不检查正确性,无法再服务器端进行处理。

Asp.Net 服务端控件,经过Asp.Net高度封装,使用简单可以再服务器端使用C#代码进行操作。会渲染到客户端为Html代码。

runat=server HTML控件,运行在服务器端,可以再后台用C#进行操作,会渲染到客户端。在虚拟路径,UserControl中也可以用到。

runat=server HTML控件优点:1不像Asp.Net服务端控件那么重量级,封装那么多,可以较好地控制生成内容的质量,更容易让美工使用。2相对于html控件,它能够在服务端代码中操作控件,能够自动处理虚拟路径,能够处理ClientID

数据绑定分为数据源和数据绑定控件两部分,数据绑定控件通过数据源获得数据,通过数据源隔离数据提供者和数据使用者。数据绑定控件通过数据源对数据进行修改。数据源有SquDataSource/AccessDataSource/ObjectDataSource.数据绑定控件有:ListBox/Repeater/ListView

 

Repeater用于对绑定数据源中的数据进行遍历并按格式显示。每条数据以什么格式显示由Repeater<ItemTemplate>决定。<Itemplate>姓名:<%#Eval(“name”)%><b>年龄:<%#Eval(“age”)%></b><br/></ItemTempplate> 注意%#之间不能有空格

<%#Eval(“name”)%>表示显示当前实体对象的name,到指定位置。<ItemTemplate><asp:TextBox runan=”server” Text=’<%#Eval(“name”)%>’/></ItemTemplate>将实体对象的name显示在文本框中。注意Text=后面必须写成单引号:Text=’<%#Eval(“name”)%>’

 

一个表格中,点击每行的删除按钮,删除当前行

aspx.cs中代码如下:

  //每次Repeater控件里的按钮点击时出发此事件

  protected void Repeater1-ItemCommand(object sourse,Repeter CommandEventArgs e)

{

  if(e.CommandName==”del”)

 {  

    //new BLL.Classes().SoftDel(Convert.ToInt32 (e.CommandArgument));  //删除事件

 

    if(new BLL.Classes().SoftDel(Convert.ToInt32(e.CommandArgument)))

    {

      Repeater1.DataBind();//重新读数据库

      Response.Write(“删除成功”)

}

 else{

Response.Write(“删除失败”)

}

  Response.Write(“Repeater1-ItemCommand事件:CommandName:”+e.CommandName+”,Argu=”+e.CommandArgument);

  }

}

 

//Repeater控件每生成一行会调用此事件

Protected void Repeater1-ItemDataBound(object sender,RepeaterItemEventArgs e)

{

   Literal  liter=e.Item.FindControl(“Literal1”) as Literal;//找到当前行存放了ID的控件

  LinkButton lb=e.Item.FindControl(“LinkButton1”)as LinkButton;//找到当前行的按钮控件

 If(liter!=null&&lb!=null)

   {

      Ib.CommandArgument=liter.Text;//设置按钮控件的CommandArgument=ID

}

}

 

aspx中代码如下:

<ItemTemplate>

<tr>

  <td><asp:Literal  ID=”Literal1” runat=”server” Text=’<%#Eval(CID)>’></asp:Literal></td>

  <td><asp:LinkButton ID=”LinkButton1” CommandName=”del” runat=”server”></asp:LinkButton></td>

</tr>

</ItemTemplate>

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

 

 

 

原创粉丝点击