ASP.NET c#学习经验

1.DataGrid自定义字段.
<Column
  <asp:BoundColumn DataField="khbh" HeaderText="客户编号"></asp:BoundColumn>
  <asp:BoundColumn DataField="khjc" HeaderText="客户简称"><ItemStyle BackColor="#CCFFFF"></ItemStyle></asp:BoundColumn>
  <asp:BoundColumn DataField="dh" HeaderText="电话"></asp:BoundColumn>
  <asp:BoundColumn DataField="cjri" HeaderText="创建日期" DataFormatString="{0:yyyy-MM-dd}"></asp:BoundColumn>
  <asp:BoundColumn DataField="bycgl" HeaderText="月均出柜量"></asp:BoundColumn>
  <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑">
   <ItemStyle Font-Names="楷体_GB2312" Wrap="False" ForeColor="#339966"></ItemStyle>
   </asp:EditCommandColumn>
  <asp:ButtonColumn Text="删除" CommandName="Delete"><ItemStyle Font-Names="楷体_GB2312" Wrap="False" ForeColor="#339966"></ItemStyle>
   </asp:ButtonColumn>
</Columns>
(DataGrid1.AutoGenerateColumns=False)

2.按一个控件后出一提示框选择是否执行.
private void Page_Load(object sender, System.EventArgs e)
{
   // 在此处放置用户代码以初始化页面
   Button1.Attributes["onClick"]="javascript:return confirm(‘确定吗?‘);";

}

3.一般提示框.
private void Button1_Click(object sender, System.EventArgs e)
{
    Response.Write("<script language=‘javascript‘>alert(‘hellow‘);</script>");
}

4.一般的DataGrid显视数据过程:
SqlConnection SqlConn;
DataSet objDataSet=new DataSet();
string Connstr="server=bserver;user=sa;database=SFA";
string SQLstr="select * from khxx";
SqlConn=new SqlConnection(Connstr);
SqlDataAdapter objAdapter=new SqlDataAdapter(SQLstr,SqlConn);
objAdapter.Fill(objDataSet,"khxx");
DataGrid1.DataSource=objDataSet.Tables["khxx"].DefaultView;
DataGrid1.DataBind();

5.在Web.config里设好连接数据库的字符串.
//web.config
</system.web>
  <appSettings>
  <add key="strConn" value="server=bserver;database=SFA;user=sa;"/>
  </appSettings>
</configuration>
//WebForm1.aspx
using System.Configuration;
string Connstr=ConfigurationSettings.AppSettings["strConn"];

6.分页显视数据:
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
    DataGrid1.CurrentPageIndex=e.NewPageIndex;
    BindGrid();
}

7.统一显视数据函数:
public void BindGrid()
{
    SqlConnection SqlConn;
    DataSet objDataSet=new DataSet();
    string Connstr=ConfigurationSettings.AppSettings["strConn"];
    string SQLstr="select * from khxx";
    SqlConn=new SqlConnection(Connstr);
    SqlDataAdapter objAdapter=new SqlDataAdapter(SQLstr,SqlConn);
    objAdapter.Fill(objDataSet,"khxx");
    DataGrid1.DataSource=objDataSet.Tables["khxx"].DefaultView;
    DataGrid1.DataBind();
}

回复:
8.DataGrid数据编辑处理(一)_直接编辑
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   DataGrid1.EditItemIndex=(int)e.Item.ItemIndex;
   BindGrid();
}

private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   DataGrid1.EditItemIndex=-1;
   BindGrid();
}

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
  DataGrid1.EditItemIndex=-1;    
           
  SqlConnection SqlConn;
  DataSet objDataSet=new DataSet();
  string Connstr=ConfigurationSettings.AppSettings["strConn"];
  string SQLstr="select * from khxx";
  SqlConn=new SqlConnection(Connstr);
  SqlDataAdapter objAdapter=new SqlDataAdapter(SQLstr,SqlConn);
  objAdapter.Fill(objDataSet,"khxx");

TextBox CurrentText;
  CurrentText = (TextBox)e.Item.Cells[1].Controls[0];//取得文本框
  objDataSet.Tables["khxx"].Rows[(int)e.Item.ItemIndex]["khjc"]=CurrentText.Text;

SqlCommandBuilder cb=new SqlCommandBuilder(objAdapter);
  SqlConn.Open();
  objAdapter.Update(objDataSet,"khxx");
  SqlConn.Close();

DataGrid1.DataSource=objDataSet.Tables["khxx"];
  DataGrid1.DataBind();

}
  在PageLoad()里一定要if(Page.IsPostBack){....};
  DataGrid1.DataKeyField="khbh";

8.排序:
private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e)
{
   DataGrid1.EditItemIndex=-1;
   SqlConnection SqlConn;
   DataSet objDataSet=new DataSet();
   string Connstr=ConfigurationSettings.AppSettings["strConn"];
   string SQLstr="select * from khxx";
   SqlConn=new SqlConnection(Connstr);
   SqlDataAdapter objAdapter=new SqlDataAdapter(SQLstr,SqlConn);
   objAdapter.Fill(objDataSet,"khxx");

DataTable objDataTable=objDataSet.Tables["khxx"];
   DataView objDataView=new DataView(objDataTable);
   objDataView.Sort=e.Sort;

DataGrid1.DataSource=objDataView;
   DataGrid1.DataBind();
}
DataGrid1.AllowSorting=True;
<asp:BoundColumn DataField="khbh" ReadOnly="True" HeaderText="客户编号" Sort="khbh">
<ItemStyle Wrap="False"></ItemStyle></asp:BoundColumn>

9.删除一条记录:
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   SqlConnection SqlConn;
   DataSet objDataSet=new DataSet();
   string Connstr=ConfigurationSettings.AppSettings["strConn"];
   SqlConn=new SqlConnection(Connstr);

string bh=DataGrid1.DataKeys[e.Item.ItemIndex].ToString();
   string SQLstr="delete from khxx where khbh=‘"+bh+"‘";
    //int ProductID =(int)MyDataGrid.DataKeys[(int)E.Item.ItemIndex];
    //string SQLStatement="Delete Products Where ProductID="+ProductID;(当字段为整数时)
           
   SqlCommand myCommand = new SqlCommand(SQLstr,SqlConn);

myCommand.Connection.Open();
   myCommand.ExecuteNonQuery();
   myCommand.Connection.Close();

BindGrid();
}

10.删除时提示是否删除:
<HEAD>
   .....    
   <script language="javascript">
   function delete_confirm(e) {
      if (event.srcElement.outerText=="删除")
      event.returnValue=confirm("确认删除否?");
          }
      document.onclick=delete_confirm;
   </script>
</HEAD>

11.在DataGrid里加复选框.
<Columns>
   <asp:TemplateColumn HeaderText="" ItemStyle-HorizontalAlign="Center">
       <ItemTemplate>
           <asp:CheckBox runat="server" ID="del" />
       </ItemTemplate>
   </asp:TemplateColumn>
    ......
</Columns>

12.选中删除多条记录:
private void Button1_Click(object sender, System.EventArgs e)
{
   SqlConnection SqlConn;
   string Connstr=ConfigurationSettings.AppSettings["strConn"];
   SqlConn=new SqlConnection(Connstr);

string DelString,SIDString="";
   for(int i=0;i<DataGrid1.Items.Count;i++)
   {
       CheckBox h;
       h=(CheckBox)DataGrid1.Items.Cells[0].Controls[1];
       if(h.Checked == true)
       { //取得已选取的主键
           SIDString +=" or (khbh =‘" + DataGrid1.Items.Cells[1].Text + "‘)";
       }
   }
   if(SIDString.Length>0)
   {
       SIDString=SIDString.Remove(0,4);
       DelString = "Delete from khxx where " + SIDString;
       SqlCommand DelRec = new SqlCommand(DelString,SqlConn);
       DelRec.Connection.Open();
       DelRec.ExecuteNonQuery();
       DelRec.Connection.Close();
       BindGrid();
   }
}

13.不同WEB页传递参数(前一个向后一个传):
(WebForm1.aspx)
private void Button2_Click(object sender, System.EventArgs e)
{
   Response.Redirect("[email protected]="+TextBox1.Text+"&NAME="+TextBox2.Text);
}
(WebForm2.aspx)
private void Page_Load(object sender, System.EventArgs e)
{
   string s;
   s=Request.QueryString["ID"];
   Label1.Text=s;
   s=Request.QueryString["NAME"];
   Label2.Text=s;        
}

回复:
14.增加一条记录(一):
    SqlConnection SqlConn;
    DataSet objDataSet=new DataSet();
   string Connstr=ConfigurationSettings.AppSettings["strConn"];
   string SQLstr="select * from khxx";
   SqlConn=new SqlConnection(Connstr);
   SqlDataAdapter objAdapter=new SqlDataAdapter(SQLstr,SqlConn);
   objAdapter.Fill(objDataSet,"khxx");

DataRow row=objDataSet.Tables[0].NewRow();
   row["khbh"]=TextBox3.Text;
   row["khjc"]=TextBox4.Text;
   row["dh"]=TextBox5.Text;
   row["cjri"]=TextBox6.Text;
   row["bycgl"]=TextBox7.Text;

objDataSet.Tables[0].Rows.Add(row);
   SqlCommandBuilder cb=new SqlCommandBuilder(objAdapter);
   objAdapter.Update(objDataSet,objDataSet.Tables[0].ToString());
   BindGrid();
15.代码色之用:
  LinkButton1.ForeColor=ColorTranslator.FromHtml("#FF8000");

16.关于加载执行:
protected void Page_Load(Object sender, EventArgs e)
{
// 网页每次加载时,执行的一些操作
  if (!IsPostBack)
  {
    // 网页第一次加载时执行的操作
  }
  else
  {
    // 回送时执行的操作
  }

// 网页每次加载时执行的操作
}

17.打开网页时全屏显视:
  (另加default.aspx,加入:)
<script language="javascript">
window.open(‘loadfile.aspx.html‘,‘_blank‘,‘menubar=no,location=no,toolbar=no,
scrollbars=no,status=no,top=0,left=0,width=‘ + screen.width + ‘,height=‘ + screen.height);
window.opener = null;
window.close();
</script>

18.打开新的浏览器窗口:
Response.Write("<SCRIPT language=‘javascript‘> window.open(‘YOURURL‘)</SCRIPT>");

19.网页启动的时候弹出一个小窗体:
  在Page_Lod事件中加入:
  Response.Write("<script>window.open(‘newyear.htm‘,‘_blank‘,‘toolbar=no,location=no,directories=no,status=no,
  menubar=no,scrollbars=no,revisable=no,left=100,top=0,width=600,height=50‘)</" + "script>");
  弹出文件名:newyear.htm

20.Session的用法:
//传递参数
Session["markid"] = webform1.Text1.Value;
Application["markid"] = webform1.Text1.Value;
WebForm2.Text1.Value = Session["markid"].ToString();
WebForm2.Text1.Value = Application["markid"].ToString();

//清除
Session.Remove("markid"); (session可以定义在webform1的任何地方。)

21.html控件:
  button光标移上移开的不同效果:
<INPUT id="Button3" style="Z-INDEX: 111; LEFT: 248px; POSITION: absolute;
TOP: 456px" onmouseover="this.style.color=‘red‘;"
onmouseout="this.style.color=‘black‘;" type="button"
value="text" name="Button3" runat="server">

22.cookie的用法:
HttpCookie cookie = new HttpCookie("aspcn");
cookie.Values.Add("webmaster","飞刀");
cookie.Values.Add("writer","beige");
cookie.Values.Add("LinkColor","blue");
Response.AppendCookie(cookie);
取出信息也一样简单
HttpCookie cookie = Request.Cookies["aspcn"];
value1 = cookies.Values["webmaster"];
value2 = cookies.Values["writer"];

23.ASP.NET中文显示之种几种解决方法:
(1)configuration>
    <globalization
    requestencoding="utf-8"
    responseencoding="utf-8"
    />
  </configuration> 或"gb2312" 或"big5"
(2)添加<%@ CODEPAGE = "936" %>到每一页的开头;

24.在线用户统计:
private void Page_Load(object sender, System.EventArgs e)
{   
  Visitors.Text = Application["user_sessions"].ToString();
}
global.asax文件:
protected void Application_Start(Object sender, EventArgs e)
{
  Application["user_sessions"] = 0;
}
protected void Session_Start(Object sender, EventArgs e)
{
  Application.Lock();
  Application["user_sessions"] = (int)Application["user_sessions"] + 1;
  Application.Unlock();
}
protected void Session_End(Object sender, EventArgs e)
{
  Application.Lock();
  Application["user_sessions"] = (int)Application["user_sessions"] - 1;
  Application.Unlock();
}

25.DataSet的一种遍历修改方法:
SqlDataAdapter myCmd=new SqlDataAdapter(strSql,myConn);
DataSet ds=new DataSet();
myCmd.Fill(ds,"操作员");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
  if(ds.Tables[0].Rows["Oper_state"].ToString()=="1")
  ds.Tables[0].Rows["Oper_state"]="有效";
  else if(ds.Tables[0].Rows["Oper_state"].ToString()=="0")
  ds.Tables[0].Rows["Oper_state"]="冻结";
}

26.自动刷新:
<head>
<!--每10秒自动刷新-->
<meta http-equiv="refresh" content="10">
</head>

27.ViewState的读取:
// 保存在 ViewState 中
ViewState["SortOrder"] = "DESC";
// 从 ViewState 中读取
string sortOrder = (string)ViewState["SortOrder"];

28.用Session传递DataSet:
DataTable Dt=new DataTable();
Dt=yourDataSet.Tables[yourtable].DefaultView;
DataGrid1.DataSource=Dt;//yourDataSet是一个DataSet对象
DataGrid1.DataBind();//假如你的“当前页”的DataGrid是这样邦定的
Session["MyTable"]=Dt;
另一页(打印页):
DataTable Dt2=new DataTable();
Dt2=(DataTable)Session["MyTable"];
DataGrid2.DataSource=Dt2;
DataGrid2.DataBind();

29.超链接传递中文参数的问题:"list.aspx?name=" + Server.UrlEncode("中国");

30.Calendar的日期取出:
private void Calendar1_SelectionChanged(object sender, System.EventArgs e)
{
   TextBox1.Text=Calendar1.SelectedDate.ToShortDateString();
}
private void Calendar1_DayRender(object sender, System.Web.UI.WebControls.DayRenderEventArgs e)
{
    ......        
}

31.用DataTable在内存建表和加入数据方式一:
    DataTable dt=new DataTable();
   dt.Columns.Add(new DataColumn("编号",typeof(Int32)));
   dt.Columns.Add(new DataColumn("客户",typeof(string)));
   DataRow dr;
   dr=dt.NewRow();
   dr[0]=9;
   dr[1]="custom";
   dt.Rows.Add(dr);
   DataGrid1.DataSource=new DataView(dt);

32.Hashtable表的用法:
Hashtable h = new Hashtable();
h.Add ("键 1", "值 1");
h.Add ("键 2", "值 2");
h.Add ("键 3", "值 3");
MyDataList.DataSource = h;

33.通常的DataList模板应用:
<ItemTemplate>
    编号:<%# DataBinder.Eval(Container.DataItem,"ID","{0:N2}") %><br>
   项:<%# DataBinder.Eval(Container.DataItem,"STRING") %><br>
   日期:<%# DataBinder.Eval(Container.DataItem,"DATETIME","{0:d}") %><br>
   是否:
   <asp:CheckBox ID="checkbox1" Checked=‘<%# DataBinder.Eval(Container.DataItem,"BOOL") %>‘ Runat=server /><br>
</ItemTemplate>

34.使用 SqlDataReader的一般方法:
SqlConnection myConnection = new SqlConnection(".......");
SqlCommand myCommand = new SqlCommand("select * from Authors", myConnection);
myConnection.Open();
SqlDataReader dr = myCommand.ExecuteReader();
MyDataGrid.DataSource = dr;
MyDataGrid.DataBind();
myConnection.Close();
35 一些程式短语:
string fdwmc=TextBox1.text.trim();

ArrayList value=new ArrayList();
value.Add("aaa");
value.Add("bbb");

Hashtable h=new Hashtable();
h.Add("a1","a2");
h.Add("b1","b2");

StringBuilder s3 = new StringBuilder();
s3.Append("hello");
s3.Append(" world");
s3.Append(" !!!");

36.HTML短语:
  <p> 则是代表段落标注
  <br>断行标注,,这个标注不需要再写一个对映的 </br>
  <font>标注:本标注用来设定文字的大小、颜色、字体
  <b> 粗体、<i> 斜体及 <u> 底线标注
  <h1>~<h6> 标题标注
  <blockquote>缩排标示
  <ol> 条列标注:(显数字)
  <ul>条列标注:(显。)
  <div> 段落对齐标注
  <!-- 这是批注, 给开发人员看的, 不会被解译 -->
  <table> 标注用来表示表格的开始及结束
  <tr> 则表示其中行的开始及结束
  <td> 则表示一行中的字段
  <img src="Train.jpg">显视图形
  <a href="H10.htm>...</a><br>超级联接

L来至 http://www.360doc.com/userhome/15774578 收藏

时间: 2024-10-11 03:22:03

ASP.NET c#学习经验的相关文章

ASP.NET MVC学习系列(二)-WebAPI请求

继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax({type:"get"}) 来实现: 请求的后台Action方法仍为上篇文章中的GetU

ASP.NET MVC学习之过滤器(一)

一.前言 继前面四篇ASP.NET MVC的随笔,我们继续向下学习.上一节我们学习了关于控制器的使用,本节我们将要学习如何使用过滤器控制用户访问页面. 二.正文 以下的示例建立在ASP.NET MVC 4之上(VS2012) 1.授权过滤器 只要涉及用户的网站,都一定会涉及到什么权限的用户可以访问哪个页面.对于新手而言可能都在每个页面中单独写这个功能方法,导致的后果就是大量重复的代码,并且不便于以后的变动.有用一定经验之后,就会采用集中控制的方式,让所有的页面先执行特定的方法去判断,这样的优点就

ASP.NET MVC学习系列(二)-WebAPI请求(转)

转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现数据调用. 继续使用上一文章中的示例,添加一个index.html页面,添加对jquery的引用. 一.无参数Get请求 一般的get请求我们可以使用jquery提供的$.get() 或者$.ajax

对前端初学的学习经验和个人见解

这篇文章仅仅针对我自己在学习过程中的一些经验和看法: 回忆来说,自己也算是半路出家,并喜欢上了前端,有一颗要做技术和艺术相结合的心,但是由于种种限制,如今还没有什么成果,我认为学习一个知识,一种技巧,出发点一定是自己要喜欢,并且在喜欢的途中你要慢慢的爱上它,越来越觉得学习前端技术有时候就像是在谈恋爱,刚开始是那种火热的情愫,疯狂的爱恋,前期总有一些使不完得劲,但是走着走着就会出现问题,人家都说女人心海底针,但是我感觉前端技术也是一样,又是后看似简单,但是又很复杂,看似一个简单的方法却能解决复杂的

ASP.NET MVC学习之控制器篇

一.前言 许久之后终于可以继续我的ASP.NET MVC连载了,之前我们全面的讲述了路由相关的知识,下面我们将开始控制器和动作的讲解. ASP.NET MVC学习之路由篇幅(1) ASP.NET MVC学习之路由篇幅(2) ASP.NET MVC学习之路由篇幅(3) 二.正文 1.IController的使用 这个接口可能很多人都没有使用过,但是我们常用的Controller类实现了这个接口,而且只要实现这个接口就可以作为一个控制器,当然很多的内部的处理就要我们自己去做了. 下面我利用ICont

Asp.Net MVC学习记录之“一个实体对象不能由多个 IEntityChangeTracker 实例引用”

原文:浅谈 js 正则之 test 方法 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西.先来看个东西吧. ? 1 2 3 4 5 var re = /\d/; console.log( re.test("1") ); console.log( re.test("1") ); console.log( re.test("1") ); console.log( re.test("1"

Asp.Net Identity学习笔记+MVC5默认项目解析_授权&Claim

Identity学习笔记 Asp.Net Identity学习笔记+MVC5默认项目解析_基础用法 Asp.Net Identity学习笔记+MVC5默认项目解析_授权&Claim Identity学习笔记授权以角色授权IdentityRoleRoleManager基于声明的(Claims)IPrincipalIIdentityCalimsIdentityClaim用户登入用户授权其他细节Claim Type命名空间 授权 最常用的授权就是给Controller或Action打上[Authori

我个人的Java学习经验(一家之言)

声明:本文只是我的个人经验之谈,或者连经验之谈都算不上,因为我觉得自己还是个新手,没有什么经验可谈,就算是我分享一下自己从开始学习Java到现在的一些心路历程吧,各位看官暂且看吧,欢迎交流.第一部分算是我与Java之间的故事,第二部分是我的个人学习经验和体会,不喜欢看故事的,直接看第二部分,谢谢! 第一部分: 作为一个学习Java的非计算机专业的学生,我觉得学习Java是有难度的,这种难度是因为我们不了解或者没有相关的学习经验而导致的,当然,与兴趣爱好也有分不开的联系.我是一个IT爱好者,由于不

ASP.NET MVC学习之过滤器篇(2)

下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成之后更改最终返回的结果,当然很多人一定不太明白这个到底可以干什么, 下面我们举一个比较实际的例子: 相信理解过网站的安全的一定知道跨站请求(CSRF具体可以自行百度,这里我就不去解释了),当然也有解决方案,那就是给页面中增加一个识别码,当页面进行POST请求时,首先判断识别码是否正确, 如果正确则继