基础资料

云中客的专栏

网络失去共享,世界将会怎样

  CSDNBlog  |  我的首页  |  联系作者  |  聚合   |  登录
   99篇文章 :: 0篇收藏:: 9篇评论:: 1个Trackbacks

公告

本站访问量:

<script src="http://www.cttsd.com/lgc/counter.asp?name=sxycgxj&dir=10" type="text/javascript"></script>

本站日历:

<script type="text/javascript"> </script> <script language="javascript" type="text/javascript"> var diarydays="<2005-12-26><2005-12-20><200-12-13><2005-12-10><2005-12-08><2005-12-07><2005-12-05><2005-11-24><2005-11-22><2005-11-10><2005-11-07><2005-11-03><2005-11-01><2005-10-27><2005-10-25><2005-10-21><2005-10-20><2005-10-19><2005-10-16><2005-10-13><2005-10-12><2005-10-11><2005-10-10><2005-10-09><2005-09-26><2005-09-25><2005-09-24><2005-09-22><2005-09-21><2005-09-20><2005-09-19><2005-09-16><2005-09-15><2005-09-14><2005-09-13><2005-09-12><2005-08-30><2005-08-29><2005-08-26><2005-08-25><2005-08-24><2005-08-23><2005-08-19><2005-08-17><2005-08-16><2005-08-12><2005-08-11><2005-08-10><2005-08-09><2005-08-08><2005-07-07><2005-07-04><2005-06-29><2005-06-28><2005-06-27><2005-06-24><2005-06-23><2005-06-21><2005-06-14><2005-06-13><2005-06-06><2005-06-05><2005-05-31><2005-05-26><2005-05-24><2005-05-23><2005-05-20><2005-05-17><2005-05-16><2005-05-13><2005-05-08><2005-04-29><2005-04-28><2005-04-26><2005-04-25><2005-04-23><2005-04-22><2005-04-21><2005-04-20><2005-04-19><2005-04-18><2005-04-15><2005-04-14><2005-04-13><2005-04-12><2005-04-11><2005-04-08><2005-04-05><2005-04-04><2005-04-02><2005-03-30><2005-03-29><2005-03-28><2005-03-27><2005-03-26><2005-03-24><2005-03-23><2005-03-22><2005-03-21><2005-03-18><2005-03-16><2005-03-15><2005-03-13><2005-03-12><2005-03-11><2005-03-10><2005-03-09><2005-03-08><2005-03-07><2005-03-05><2005-03-02><2005-03-01><2005-02-27><2005-02-26><2005-02-25><2005-02-22><2005-02-20><2005-02-19><2005-02-18><2005-02-17><2005-02-16><2005-02-06><2005-02-04><2005-02-02><2005-01-31><2005-01-29><2005-01-25><2005-01-24><2005-01-17><2005-01-13><2005-01-12><2005-01-10><2005-01-07><2005-01-04><2004-12-31><2004-12-29><2004-12-27><2004-12-26><2004-12-24><2004-12-22><2004-12-20><2004-12-19><2004-12-17><2004-12-16><2004-12-14><2004-12-08><2004-12-04><2004-12-03><2004-11-28><2004-11-27><2004-11-23><2004-11-20><2004-11-17><2004-11-12><2004-11-10><2004-11-08><2004-11-04><2004-11-02><2004-11-01><2004-10-31><2004-10-30><2004-10-29><2004-10-26><2004-10-23><2004-10-18><2004-10-16><2004-10-15><2004-10-14><2004-10-11><2004-09-07><2004-09-06><2004-09-05><2004-09-03><2004-09-02><2004-09-01><2004-08-31><2004-08-30><2004-08-29><2004-08-28><2004-08-27><2004-08-26><2004-08-25><2004-08-24><2004-08-23><2004-08-22><2004-08-21><2004-08-20><2004-08-19><2004-08-18><2004-08-17><2004-08-15><2004-08-13><2004-08-12><2004-08-11><2004-08-10><2004-08-09><2004-08-08><2004-08-06><2004-08-05><2004-08-04><2004-08-03><2004-08-02><2004-08-01><2004-07-31><2004-07-30><2004-07-29><2004-07-27><2004-07-26><2004-07-25><2004-07-22><2004-07-21><2004-07-20><2004-07-19><2004-07-18><2004-07-16><2004-07-15><2004-07-14><2004-07-13><2004-07-12><2004-07-11><2004-07-10><2004-07-09><2004-07-08><2004-07-06><2004-07-05><2004-07-04><2004-07-03><2004-07-02><2004-07-01><2004-06-30><2004-06-27><2004-06-26>"; </script> <script language="JavaScript" type="text/javascript"> var months = new Array("一", "二", "三","四", "五", "六", "七", "八", "九","十", "十一", "十二"); var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31); var days = new Array("日","一", "二", "三","四", "五", "六"); var classTemp; var calendarHover="calendarHover"; var today=new getToday(); var year=today.year; var month=today.month; var newCal; //得到某月天数 function getDays(month, year) { if (1 == month) return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28; else return daysInMonth[month]; } //得到当天时间信息 function getToday() { this.now = new Date(); this.year = this.now.getFullYear(); this.month = this.now.getMonth(); this.day = this.now.getDate(); } //生成日历 function Calendar() { newCal = new Date(year,month,1); //当前月的第一天 today = new getToday(); var day = -1; //用来判断日历中是否为当天 var startDay = newCal.getDay(); //当月开始时间 var endDay=getDays(newCal.getMonth(), newCal.getFullYear());//当月结束时间 var daily = 0; //用来生成日历中的天数值 if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) day = today.day; var caltable = document.all.caltable.tBodies.calendar; //得到日历表格的集合 var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear()); //得到当月天数 //生成日历 for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++) for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++) { var cell = caltable.rows[intWeek].cells[intDay]; //得到单元袼 //生成字符串用于判断当天是否有日志 var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1); if ((intDay == startDay) && (0 == daily)){ daily = 1;} var daytemp=daily<10?("0"+daily):(daily); var d="<"+newCal.getFullYear()+"-"+montemp+"-"+daytemp+">"; //选择样式 if(day==daily) cell.className="calendarNow"; else if(diarydays.indexOf(d)!=-1) cell.className="calendarLink"; else if(intDay==6) cell.className = "calendarDaySat"; else if (intDay==0) cell.className ="calendarDaySun"; else cell.className="calendarTd"; //生成值 if ((daily > 0) && (daily <= intDaysInMonth)) { cell.innerText = daily; daily++; } else cell.innerText = ""; } document.all.year.value=year; document.all.month.value=month+1; } function subMonth() { if ((month-1)<0) { month=11; year=year-1; } else { month=month-1; } Calendar(); } function addMonth() { if((month+1)>11) { month=0; year=year+1; } else { month=month+1; } Calendar(); } //得到响应事件 function getDiary() { var mon=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1); var day=event.srcElement.innerText<10?("0"+event.srcElement.innerText):(event.srcElement.innerText); var d="<"+newCal.getFullYear()+"-"+mon+"-"+day+">"; if ("TD" == event.srcElement.tagName) if (("" != event.srcElement.innerText)&&(diarydays.indexOf(d)!=-1)) { diary.location="/chensheng913/archive/"+newCal.getFullYear()+"/"+mon+"/"+day+".aspx"; window.location.href = diary.location; } } function setDate() { if (document.all.month.value<1||document.all.month.value>12) { alert("月的有效范围在1-12之间!"); return; } year=Math.ceil(document.all.year.value); month=Math.ceil(document.all.month.value-1); Calendar(); } </script>
月 [下月] [上月]
<script language="JavaScript" type="text/javascript"> document.write("
" + days[0] + "
"); for (var intLoop = 1; intLoop < days.length-1; intLoop++) document.write("
" + days[intLoop] + "
"); document.write("
" + days[intLoop] + "
"); </script>
<script language="JavaScript" type="text/javascript"> for (var intWeeks = 0; intWeeks < 6; intWeeks++) { document.write("
"); for (var intDays = 0; intDays < days.length;intDays++) document.write("
"); document.write(" "); } </script>
1234567
891011121314
15161718192021
22232425262728
293031    
       
<script language="JavaScript" type="text/javascript"> Calendar(); </script> 点击这里给我发消息

文章

收藏

  •  

相册

  •  

珍藏链接

存档

最近评论



NET资料

(一)常用连接:
1.使用SqlConnection对象:
public void SqlConnectionOpen()
{
   SqlConnection conn= new SqlConnection();
   conn.ConnectionString = "user id=sa;password=;initial catalog=northwind;datasource=localhost;connect Timeout=20";
   conn.Open();
}
2.使用OleDbConnection对象:
public void OleDBConnectionOpen()
{
   OleDBConnection conn = new OleDbconnection();
   conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:/Customer.mdb";
   conn.Open();
}
(二)其它:
1.ODBC连接Access本地数据库
  conGoodDay.Open("Driver={Microsoft Access Driver(*.mdb)};"+"Dbq=C:/a.mdb;"+
  "Uid=Admin;"+"Pwd=;");
2.ODBC连接Access系统数据库
  conGoodDay.Open("Driver={Microsoft Access Driver(*.mdb)};"+"Dbq=C:/a.mdb;"+
  "SystemDB=Admin;"+"Pwd=;");
3.ODBC连接Access系统数据库
  conGoodDay.Open("Driver={Microsoft Access Driver(*.mdb)};"+"Dbq=//server/share/a.mdb;");
4.ODBC连接Excel系统数据库
  conGoodDay.Open("Driver={Microsoft Access Driver(*.xls)};"+"DriverId=790;"+
  "Dbq=C:/a.xls;"+"DefaultDir=c:/somepath;");
5.ODBC连接Oracle系统数据库
  conGoodDay.Open("Driver={Microsoft ODBC for Oracle};"+"Server=OracleServer.world;"+
  "Uid=Admin;"+"Pwd=password;");
6.ODBC连接Sql Servr
  conGoodDay.Open("Driver={Sql Server};"+"Server=myServer;"+"Database=myDatabaseName;"
  "Uid=Admin;"+"Pwd=password;");
7.ODBC连接Visual FoxPro
  conGoodDay.Open("Driver={Microsoft Visual FoxPro Driver};"+
  "SourceType=DBC;"+"SourceDB=c:a.dbc;"+"Exclusive=No;");

(一).确认删除用法:
  1. BtnDel.Attributes.Add("onclick","return confirm('"+"确认删除?"+"')");
  2. linktempDelete.Attributes["onclick"]="javascript:return  confirm('"+"确认删除?"+"');";
  3. private void grdProject_ItemDataBound(object sender, DataGridItemEventArgs e)
  4.
  {
 if ((e.Item.ItemType == ListItemType.Item) | (e.Item.ItemType == ListItemType.AlternatingItem))
 {
  // 刪除按鈕上的提示部分
  e.Item.Cells[10].Attributes.Add("onclick", "return confirm('确定删除吗?');");
 }  
  }
  5.
    <script language="JavaScript" type="text/JavaScript">
 function delete_y(e)
        {
    if(event.srcElement.outerText == "删除")
        event.returnValue=confirm("确定删除?");
 }
 document.οnclick=delete_y;
    </script>

(二).跨语言字符串替换
    System.Text.RegularExpressions.Regex.Replace(str1,@"<{1}[^<>]*>{1}","").Replace("&nbsp;","").Replace("&#092;","//").Replace("&#045;","-").Replace("&amp;","&").Replace("&lt;","<").Replace("&gt;",">").Replace("br","/n");

(三).关闭窗体
   1.
      this.btnClose.Attributes.Add("onclick",  "window.close();return false;");
   2.关闭本窗体间跳转到另一个页面
      this.HyperLink1.NavigateUrl = "javascript:οnclick=window.opener.location.assign
         ('" + "index.aspx"+ "?&Func=Edit&AutoID=" + intAutoid + ');window.close();";
   3.关闭父窗体:
      <INPUT type="reset" value='<%=this._Cancel%>' οnclick="window.parent.close()"  Class="Button">


(四).Web MessageBox  
   1.
      Response.Write("<script language=javascript> window.alert('保存成功1');</script>");
   2.
      Response.Write("<script>alert('"+"保存成功!"+"');</script>");
   3.
      this.Page.RegisterStartupScript("ChiName","<script language='javascript'>alert('" + "保存成功!" + "')</script>");

(五).DataGrid中加CheckBox控件模板列.
   请看:  http://blog.csdn.net/chengking/archive/2005/10/08/497520.aspx

(六). window.open() 方法
 语法:window.open(pageurl,name,parameters);
 window对象的open()方法用于创建一个新的窗口实例,新创建的窗口的外观由参数:parameters指定。新窗口中打开的文档由参数:         pageurl指定。系统能够根据参数:name确定的名称访问该窗口。

        下表为parameters参数表:
        参数          衩始值           说明
        alwaysLowered yes/no 指定窗口隐藏在所有窗口之下。
        alwaysRaised yes/no 指定窗口浮在所有窗口之上。
        dependent yes/no 指定打开的窗口为父窗口的一个了窗口。并随父窗口的关闭而关闭。
        directions yes/no 指定Navigator 2和3的目录栏是否在新窗口中可见。
        height pixel value 设定新窗口的像素高度。
        hotkeys yes/no 在没有菜单栏的新窗口设置安全退出热键。
        innerHeight pixel value 设置新窗口中文档的像素高度。
        innerWidth pixel value 设置新窗口中文档的像素宽度。
        location yes/ no 指明位置栏在新窗口中是否可见。
        menubar yes /no 指明菜单栏在新窗口中是否可见。
        outerHeight pixel value 设定窗口(包括装饰边框)的像素高度。
        outerWidth pixel value 设定窗口(包括装饰边框)的像素宽度。
        resizable yes /no 指明新窗口是否可以调整。
        screenX pixel value 设定新窗口离屏幕边界的像素长度。
        screenY pixel value 设定新窗口离屏幕上边界的像素长度。
        scrollbars yes /no 指明滚动栏在新窗口中是否可见。
        titlebar yes /no 指明菜单题目栏在新窗口是否可见。
        toolbar yes /no 指明工具栏在新窗口中是否可见。
        Width pixel value 设定窗口的像素宽度。
        z-look yes /no 在文档中包含各个<pplet>标签的数组。
        fullscreen yes / no 打开的窗体是否进行全屏显示
        left pixel value 设定新窗口距屏幕左方的距离
        top pixel value 设定新窗口距屏幕上方的距离
 
       例子:
        <html>
           <head>
               <title>window.open函数</title>
           </head>
           <body>
              <script language="javascript">
                   <!--
                 window.open("","name1","width=100,height=200,toolbar=no,scrollbars=no,menubar=no,screenX=100,screenY=100");
                    //-->
              </script>
           </body>
        </html>

(七).location对象    
    href 整个URL字符串.
    protocol 含有URL第一部分的字符串,如http:
    host 包含有URL中主机名:端口号部分的字符串.如//www.cenpok.net/server/
    hostname 包含URL中主机名的字符串.如http://www.cenpok.net
    port 包含URL中可能存在的端口号字符串.
    pathname URL中"/"以后的部分.如~list/index.htm
    hash "#"号(CGI参数)之后的字符串.
    search "?"号(CGI参数)之后的字符串.

(八).按键捕捉
   1.Ctrl+Enter按键捕捉方法
    <body οnkeydοwn="doKeyDown()">
    <script language="JavaScript">
    <!--
    function doKeyDown()
     {
        if (event.ctrlKey && event.keyCode == 13)
         {
           alert("You pressed the Ctrl + Enter")
         }
     }
    //-->
    </script>
    </body>
   2.Alt加快捷键: Alt+A
     <button accessKey=A title="Alt+A" οnclick="alert('Button clicked!')">Alt+A</button>
(九).控制输入,非法字符不能输入到TextBox.
    <asp:textbox class="Text"
        οnkeypress="if (event.keyCode < 48 || event.keyCode >57) event.returnValue = false;"
 id="txtY_Revenue" style="TEXT-ALIGN: right" runat="server" Width="90%" MaxLength="12">
    </asp:textbox>
    说明: 此方法控制TextBox只收数字:0~9 , 也自可以定义其它可输入字符,如改成: 65~123,只允许输入: a~z和A~Z 等.


1.Asp.Net中几种相似的标记符号: <%=...%> <%#... %> <% %> <%@ %> 解释及用法

   答:  <%#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定
          如: <%# Container.DataItem("tit") %>


        <%= %>: 在程序执行时被调用,可以显示后台变量值
          如:  
           *.aspx中: <%= aaa %>
           *.cs中:   protected string aaa="姓名";


        <% %>: 内联代码块里面可以在页面文件*.aspx或*.ascx文件里面嵌入后台代码
          如:
            <%
             for(int i=0;i<100;i++)
             {
                   Reaponse.Write(i.ToString());
             }
            %>


        <%@  %>是在*.aspx页面前台代码导入命名空间,
           如: 
            <%@ Import namespace="System.Data"%>

 

2.控件接收哪些类型数据?
      答:接收Bind的控件,一般有DropDownList,DataList,DataGrid,ListBox这些集合性质的控件,而被捆绑   的主要是ArrayList(数组),Hashtable(哈稀表),DataView(数据视图),DataReader这四个,以后我们就可以   对号入座,不会出现DataTable被捆绑的错误了:)

3.DataBind,获得的数据,系统会将其默认为String,怎样转化为其它的类型?
  DataBinder.Eval(Container.DataItem,"转换的类型","格式")
  最后一个"格式"是可选的,一般不用去管他,Container.DataItem是捆绑的数据项,"转换类型"指的是    Integer,String,Boolean这一类东西.

4.主要命名空间:
  <% @ Import Namespace="System.Data" %>    处理数据时用到
  <% @ Import Namespace="System.Data.ADO" % >  使用ADO.net ; 时用到
  <% @ Import Namespace="System.Data.SQL" %>   SQL Server 数据库专用
  <% @ Import Namespace="System.Data.XML" %>   不用看处理XML用到
  <% @ Import Namespace="System.IO" %>   处理文件时用到
  <% @ Import Namespace="System.Web.Util" %>   发邮件时大家会用到
  <% @ Import Namespace="System.Text" %>    文本编码时用到

5.Connections(SQLConection 或者 ADOConnection)的常用属性和方法:
  | ConnectionString 取得或设置连结数据库的语句
  | ConnectionTimeout 取得或设置连结数据库的最长时间,也是就超时时间
  | DataBase 取得或设置在数据库服务器上要打开的数据库名
  | DataSource 取得或设置DSN,大家不会陌生吧:)
  | Password 取得或设置密码
  | UserID 取得或设置登陆名
  | State 取得目前联结的状态
  | Open() 打开联结
  | Close() 关闭联结
  | Clone() 克隆一个联结。(呵呵,绵羊可以Connection我也可以)
 示例:
     SQLConnection myConnection = new SQLConnection();
     myConnection.DataSource = "mySQLServer";
     myConnection.Password = "";
     myConnection.UserID = "sa";
     myConnection.ConnectionTimeout = 30;
     myConnection.Open();
     myConnection.Database = "northwind";
     myConnection.IsolationLevel = IsolationLevel.ReadCommitted
6.Command常用的方法和属性
   | ActiveConnection 取得或设置联结Connections
   | CommandText 执行的SQL语句或储存过程(StoredProcedure)名
   | CommandTimeout 执行的最长时间
   | CommandType Command操作的类型(StoredProcedure,Text,TableDirect)三种,默认Text
   | Parameters 操作储存过程时使用
   | Execute() 执行SQL语句或储存过程
   | ExecuteNonQuery() 同上,区别在于不返回记录集
   | Clone() 克隆Command
  示例:
     string mySelectQuery = "SELECT * FROM Categories ORDER BY CategoryID";
     stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
     SQLCommand myCommand = new SQLCommand(mySelectQuery);
     myCommand.ActiveConnection = new SQLConnection(myConnectString);
     myCommand.CommandTimeout = 15;
     myCommand.CommandType = CommandType.Text;< /FONT >

 

7.打开和关闭数据库两种方法:
      1.MyConnection.Open();    //打开联结
        MyConnection.Close();
      2.MyCommand.ActiveConnection.Open();
        MyCommand.ActiveConnection.Close() 

8.使用DataSet,在数据库中增加、修改、删除一个数据
      a.添加数据
            DataRow dr=MyDataSet.Tables["UserList"].NewRow();
            dr["UserName"] = "周讯";
            dr["ReMark"] = "100";
            dr["Comment"] = "漂亮MM";
            MyDataSet.Tables.Rows.Add(dr);

      b.修改数据
            MyDataSet.Tables["UserList"].Rows[0]["UserName"]="飞刀大哥";

      c.删除数据
            MyDataSet.Tables["UserList"],Rows[0].Delete();

      d.恢复数据
            if(MyDataSet.HasErrors)
             {
               MyDataSet.RejectChanges();
             }
     
      e.探测DataSet是否有改动
            if(MyDataSet.HasChanges)
             {
                //保存代码
             }else{
                //因为没有变化,所以不用保存,以节省时间
             }

      f.更新数据库
            MyComm.Update(MyDataSet);   //更新数据库中所有的表
            MyComm.Update(MyDataSet,"UserList");  //更新某个表
9.DataGrid实现分页功能
     AllowPaging="True"   //是指允许分页,这个是最主要的。有了它,我们才能分页。
     PageSize="5"         //是指定每页显示的记录数,如果不写,就会默认为10条。
     PagerStyle-HorizontalAlign="Right"  //是指定分面显示的定位,默认是Left

     PagerStyle-NextPageText="下一页"    //把<>改为上一页和下一页字符串
     PagerStyle-PrevPageText="上一页"

     PagerStyle-Mode="NumericPages"       //把<>改为123数字显示
10.显示一共有多少页,并且报告当前为第几页
     当前页是:<font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
     总页数是:<font color=red><%=DataGrid1.PageCount%></font><br>
11.个性化分页
     程序员大本营之"亲密接触ASP.Net(14)"有完整代码

12.要将页面重置为有效的状态
 IValidator val;
        foreach(val in Validators)
         {
            Val.IsValid = true;
         }
13.重新执行整个验证序列   
        IValidator val;
        foreach(val in Validators)
         {
            Val.Validate();
         }
14.禁用客户端验证
 <%@ Page Language="c#" clienttarget=downlevel %>
15.Repeater、DataList和DataGrid控件用途"
     这些控件可以简化几种常见的 Web 应用程序方案,包括报表、购物车、产品列表、查询
 结果和导航菜单。  Repeater是唯一允许在其模板中存在 HTML片段的控件.
16.Server.Execute("another.aspx")和Server.Transfer("another.aspx")区别:
       Execute是从当前页面转移到指定页面,并将执行返回到当前页面
 Transfer是将执行完全转移到指定页面
17.XML文件中可以自己存有架构,也可以存在于*.xsl文件中,但必须通过xmlns属性在xml文档的根节点中指定该信息,如下所示:
 <rootelement xmlns="x-schema:scheduledSchema.xsl">
18.XML文件的读取
 FileStream myfs=new Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
 StreamReader myreader=new StreamReader(myfs);
 DataSet myds=new DataSet();
 myds.ReadXml(myreader);
19.正则表达式 控件RegularExpressionValidator
 符号   含义
 ^   指定检查开始处
 $   指定检查结束处
 []   检查输入的值是否与方括弧中的字符之一相匹配
 /W   允许输入任何值
 /d{}   "/d"指定输入的值是一个数字,{}表示已指定数据类型的出现次数
 +   表明一个或多个元素将被添加到正在检查的表达式
    示例:电子邮件格式(具有@号,且以.com/.net/.org/.edu结尾) 
     validationexpression="^[/w-]+@[/w-]+/.(com|net|org|edu)$"
20.DataGrid控件中数据操作重要语句:
 属性:DataKeyField="userid"  //设userid为表的主键,无法将该字段的值更新到数据库,最好设表的主键为DataGrid的主键
 SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex]; //检索所要更新的行的主键(将当前选定的行的               主键值赋给命令的一个参)数
 SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text; //为参数赋予已修改的行值
21.自定义控件:
 a.用户控件(ASP创建页面一样)
  (I).  创建页面,拖入控件,设置属性/方法.   <% @Control Language="C#" Debug="True" %>中的@Control指令来定义此页         将包含控件代码
  (II)  保存为*.ascx文件,如a.ascx.
  (III).使用: 头<%@Register Tagprefix="MyFirstControl" TagName="MyLbl" Src="a.axcs" %>
    //Tagprefix为控件的前缀,像ASP:TextBox中的ASP
    //TagName用于指定自定义控件的名称
    //Src指定控件文件源
      身体:<MyFirstControl:MyLbl runat="Server" id="AllMine" MyText="成功了" />    
 b.使用C#创建自定义控件
  (I). 创建纯代码文件,继承基类Control,并保存为*.cs,如a.cs.
  (II).将代码编译生成程序集: csc /t:library /r:System.dll,System.Web.Dll a.cs 
      //library告诉C#编译器生成程序集
      //  /r:System.dll System.Web.Dll告诉C#编译器引用指定的程序集
  (III).将生成dll文件放在bin目录中
  (IV).使用: <% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="a" %>
22.复合控件注意事项:
 public class MyCompositin:Control,INamingContainer   //INamingContainer:如果在页面上有多个此控件实例,则此结口可以给每         {}           //个实例有唯一标志

 this.EnsureChildControls();//表示将复合控件的子控件都呈现到页面上,此方法检查服务器控件是否包含子控件

 CreateChildControls
23.Button/LinkButton/ImageButton/HyperLink什么时候用?
         1.Button和ImageButton用于将数据传递回服务器.
         2.Hyperlink用于在页面之间导航
         3.LinkButton用于将数据保存到服务器或访问服务器上的数据
24.跟踪调试
     跟踪:
 1.页级别跟踪: 在页的开头包括如下的页指令<%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
  自定义消息:
        Trace.Write("这里为要显示的字符串");
        Trace.Warn("这里为要显示的字符串");   //与Trace.Write相同,只是字体为红色
                检查是否使用了跟踪
        例句: if(Trace.IsEnabled) { Trace.Warn("已启用跟踪")}   
 2.应用程序级别跟踪: 在Web.config文件的<System.Web>节中 <trace enabled="true" pageOutput="true"/>
25.设置缓存:
 1.输出缓存:
            I.页面设置: 将  <%@ OutputCache Duration="120" VaryByParam="none" %>  加在需要缓存页的开头 
                               注释:在请求该页的后两分钟之内,输出内容不变
     II.编程方式设置:
                   主要使用类System.Web.HttpCachePolicy类下的方法
         (1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));  //在此方法中必须指定到期时间,如本语                                                                                       //句为两分钟
         (2). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120));
                            Response.Cache.SetSlidingExpiration(true);  //"可调到期",主要用于那些开始访问量大,但随后访问                                                                              //量平衡的情况
                            功能:第一句设置缓存到期时间,第二行打开 sliding expiration(可调到期).
         2.数据缓存:
               (1).DataView mySource; (2).给mySource赋值;
               (3).Cache["myCache"]=mySource; (4).mySource=(DataView)Cache["myCache"]
26.部署: 直接复制到产品服务器即可 复制语句: XCOPY <source_path> <destination_path> //XOPY只接受物理路径,不接受虚拟路径

26.自定义分页按钮

      1. 

           protected void ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs  e)
   {
          System.Web.UI.WebControls.ListItemType elemType = e.Item.ItemType;
          if (elemType == System.Web.UI.WebControls.ListItemType.Pager)
          {
                 TableCell pager = (TableCell) e.Item.Controls[0];
                 for (int i=0; i<pager.Controls.Count; i+=2)
                 {
                            Object o = pager.Controls[i];
                            if (o is LinkButton)
                            {
                                    LinkButton h = (LinkButton) o;
                                    h.Text = " " + h.Text + " ";
                            }
                            else
                            {
                                      Label l = (Label) o;
                                      l.Text = String.Format("[第{0}页]", l.Text);
                             }
                   }
           }
    }

   2.  引用:zhangzs8896(小二)

    private void MyDataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
     {
            ListItemType lit_item=e.Item.ItemType;
            TableCell tc_item=(TableCell)e.Item.Controls[0];
            if (lit_item==ListItemType.Pager)
            {
                   for (int i=0;i<tc_item.Controls.Count;i+=2)
                   {
                          object obj_item=tc_item.Controls[i];
                   
                          if (obj_item is LinkButton)
                          {
                                    LinkButton lbn_item=(LinkButton)obj_item;
                                    lbn_item.Text=lbn_item.Text;
                                    lbn_item.Font.Size=10;
                                    lbn_item.ForeColor=Color.FromName("#666666");
                                    lbn_item.Attributes.Add ("onmouseover","currentcolor=this.style.color;this.style.color='#14AC05'");
                                    lbn_item.Attributes.Add("onmouseout","this.style.color=currentcolor");
                          }
                          else
                          {
                                    Label lbl_item=(Label)obj_item;
                                    lbl_item.ForeColor=Color.Blue;
                                    lbl_item.Font.Bold=true;
                                    lbl_item.Font.Underline=true; 
                                    lbl_item.Text="<font color='#666666'>" + lbl_item.Text + "</font>";
                                    lbl_item.Font.Size=10;

                           }
                  }
              }

          }


今天TM群里有人问起关于页面传值的方法,又引发了一场讨论。看来这个还是有很多人关注的,因此我就我个人观点做了些总结,希望对大家有所帮助。
  1.  使用QueryString变量
    QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
    string s_url;
    s_url = "b.aspx?name=" + Label1.Text;
    Response.Redirect(s_url);
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    Label2.Text = Request.QueryString["name"];
}

  2.  使用Application 对象变量
    Application对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
    Application["name"] = Label1.Text;
    Server.Transfer("b.aspx");
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    string name;
    Application.Lock();
    name = Application["name"].ToString();
    Application.UnLock();
}

  3.  使用Session变量
    想必这个肯定是大家使用中最常见的用法了,其操作与Application类似,作用于用户个人,所以,过量的存储会导致服务器内存资源的耗尽。
a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
    Session["name"] = Label.Text;
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Session["name"].ToString();
}

  4.  使用Cookie对象变量
    这个也是大家常使用的方法,与Session一样,其是什对每一个用户而言的,但是有个本质的区别,即Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用。

a.aspx的C#代码
private void Button1_Click(object sender, System.EventArgs e)
{
    HttpCookie cookie_name = new HttpCookie("name");
    cookie_name.Value = Label1.Text;
    Reponse.AppendCookie(cookie_name);
    Server.Transfer("b.aspx");
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    string name;
    name = Request.Cookie["name"].Value.ToString();
}

  5.  使用Server.Transfer方法
    这个才可以说是面象对象开发所使用的方法,其使用Server.Transfer方法把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流,所以这个方法是完全面象对象的,简洁有效。
a.aspx的C#代码
public string Name
{
    get{ return Label1.Text;}
}
private void Button1_Click(object sender, System.EventArgs e)
{
    Server.Transfer("b.aspx");
}

b.aspx中C#代码
private void Page_Load(object sender, EventArgs e)
{
    a newWeb;   //实例a窗体
    newWeb = (source)Context.Handler;
    string name;
    name = newWeb.Name;
}



    摘要:.net打包自动安装数据库!     (全文共13742字)——点击 此处阅读全文

动态指定DataGrid中多个参数的超链接列 <script language="javascript" type="text/javascript"> document.title="动态指定DataGrid中多个参数的超链接列(downmoon) - "+document.title </script>

.net 自带的DataGrid 超链接列只能指定一个动态参数, 可以通过以下方式来改进:
第一种:后台再绑定:

private void mygrid_ItemDataBound(object sender, DataGridItemEventArgs e)
  {
   if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
   {
    HyperLink link  = (HyperLink)e.Item.Cells[0].Controls[0]; 
   
    string url = link.NavigateUrl;
    url += "?id=" + e.Item.Cells[1].Text + "&id2=" + e.Item.Cells[2].Text;
    link.NavigateUrl = url;
   }
  }

第二种:前台增加模板列:
<asp:TemplateColumn HeaderText="test">
       <ItemTemplate>
        <asp:HyperLink runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.productID") %>' NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.productName", "detailspage.aspx?id={0}&id2="+DataBinder.Eval(Container, "DataItem.productID")) %>'>
        </asp:HyperLink>
       </ItemTemplate>



刷新aspx页面的六种方法(downmoon)

第一:
private void Button1_Click(object sender, System.EventArgs e)
  {   
Response.Redirect(Request.Url.ToString());  
}
第二:
private void Button2_Click(object sender, System.EventArgs e)
  {
    Response.Write("<script language=javascript>window.location.href=document.URL;</script>");
   }
第三:
private void Button3_Click(object sender, System.EventArgs e)
  {
   Response.AddHeader("Refresh","0");
}
第四:
private void Button6_Click(object sender, System.EventArgs e)
  {//好像有些不对?
   //Response.Write("<script language=javascript>window.location.reload();</script>");
 } 
第五:

<script>
<!--

var limit="3:00"

if (document.images){
var parselimit=limit.split(":")
parselimit=parselimit[0]*60+parselimit[1]*1
}
function beginrefresh(){
if (!document.images)
return
if (parselimit==1)
window.location.reload()
else{
parselimit-=1
curmin=Math.floor(parselimit/60)
cursec=parselimit%60
if (curmin!=0)
curtime=curmin+"分"+cursec+"秒后重刷本页!"
else
curtime=cursec+"秒后重刷本页!"
window.status=curtime
setTimeout("beginrefresh()",1000)
}
}
window.οnlοad=beginrefresh
//-->
  </script>
 <DIV style="Z-INDEX: 102; LEFT: 408px; POSITION: absolute; TOP: 232px" ms_positioning="text2D">
  <P><FONT size="3">自动刷新页面</FONT></P>
   《/DIV》
第六:
<meta http-equiv="refresh" content="300; url=target.html">


vb.net与c#相互转换工具
http://www.ragingsmurf.com/vbcsharpconverter.aspx
http://w1.311.telia.com/~u31115556/desc/programs.htm
http://authors.aspalliance.com/aldotnet/examples/translate.aspx
http://csharpconverter.claritycon.com/Default.aspx
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx


几段非常有用的脚本(摘自微软网站)
一、在网络硬件故障或网络故障断开时发送警告

strComputer = "."
Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/wmi")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
    ("Select * from MSNdis_StatusMediaDisconnect")
Do While True
    Set strLatestEvent = colMonitoredEvents.NextEvent
    Wscript.Echo "A network connection has been lost:"
    WScript.Echo strLatestEvent.InstanceName, Now
    Wscript.Echo
Loop

调用方法示例:cscript 网络断开.vbs >> F:/test/微软脚本/log.txt

二、在网络硬件连接成功或网络故障恢复连接时发送警告

strComputer = "."

Set objWMIService = GetObject("winmgmts://" & strComputer & "/root/wmi")
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
    ("Select * from MSNdis_StatusMediaConnect")

Do While True
    Set strLatestEvent = colMonitoredEvents.NextEvent
    Wscript.Echo "A network connection has been made:"
    WScript.Echo strLatestEvent.InstanceName, Now
    Wscript.Echo
Loop


调用方法示例:cscript 网络连接.vbs >> F:/test/微软脚本/log.txt

三、获取所有域用户信息

Const ADS_SCOPE_SUBTREE = 2

Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"

Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = _
    "Select Name, Location from 'LDAP://DC=DomainName,DC=com' " _
        & "Where objectClass='computer'" 
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

Do Until objRecordSet.EOF
    Wscript.Echo "Computer Name: " & objRecordSet.Fields("Name").Value
    Wscript.Echo "Location: " & objRecordSet.Fields("Location").Value
    objRecordSet.MoveNext
Loop


调用方法示例:cscript 域用户信息.vbs >> F:/test/微软脚本/域用户信息.txt

四、修改文本文件内容

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("sample.ini", ForReading)

Do Until objTextFile.AtEndOfStream
    strNextLine = objTextFile.Readline


    intLineFinder = InStr(strNextLine, "UserName")
    If intLineFinder <> 0 Then
        strNextLine = "UserName=邀月工作室"
    End If

    strNewFile = strNewFile & strNextLine & vbCrLf
Loop

objTextFile.Close

Set objTextFile = objFSO.OpenTextFile("sample.ini", ForWriting)

objTextFile.WriteLine strNewFile
objTextFile.Close


调用方法示例:ModifyFile.vbs

附件:
Sample.ini:
[OEM Install]
ProgGroupName=
DefaultDestDir=
UserName=
UserCompanyName=
UserSerialNumber=


五、通过脚本发送电子邮件

从安装了 SMTP Service 的计算机中发送电子邮件的脚本。

脚本代码

Set objEmail = CreateObject("CDO.Message")
objEmail.From = "monitor1@fabrikam.com"
objEmail.To = "admin1@fabrikam.com"
objEmail.Subject = "Atl-dc-01 down"
objEmail.Textbody = "Atl-dc-01 is no longer accessible over the network."
objEmail.Send


调用方法示例:SendMail.vbs

六、在没有 SMTP Service 的条件下发送电子邮件

脚本设计用来在 Microsoft 的公司网络上进行工作。

Set objEmail = CreateObject("CDO.Message")
objEmail.From = "admin1@fabrikam.com"
objEmail.To = "admin2@fabrikam.com"
objEmail.Subject = "Server down"
objEmail.Textbody = "Server1 is no longer accessible over the network."
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
        "smarthost"
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send

调用方法示例:SendMailNoSMTP.vbs

七、将新的记录添加到数据库中

通过脚本检索计算机声卡的信息,然后将这些信息保存到带有 DSN Inventory 的 ADO 数据库中。

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adUseClient = 3
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
objConnection.Open "DSN=Inventory;"
objRecordset.CursorLocation = adUseClient
objRecordset.Open "SELECT * FROM Hardware" , objConnection, _
    adOpenStatic, adLockOptimistic
Set colSoundCards = GetObject("winmgmts:").ExecQuery _
    ("Select * from Win32_SoundDevice")
For Each objSoundCard in colSoundCards
    objRecordset.AddNew
    objRecordset("ComputerName") = objSoundCard.SystemName
    objRecordset("Manufacturer") = objSoundCard.Manufacturer
    objRecordset("ProductName") = objSoundCard.ProductName
    objRecordset.Update
Next
objRecordset.Close
objConnection.Close

调用方法示例:AddOneRecord.vbs



    摘要:DataGrid应用技巧两则(downmoon)---列求和与列字段转换     (全文共3602字)——点击 此处阅读全文

 

第1页,共2页
<script language="JavaScript" src="http://www.csdn.net/common/footer_utf8.js" type="text/javascript"></script>

网站简介广告服务网站地图帮助信息联系方式English问题报告

CSDN北京百联美达美数码科技有限公司  版权所有  京 ICP 证 020026 号 CSDN

© 2000-04, CSDN.NET, All Rights Reserved


<script src="http://www.csdn.net/common/counter.js" type="text/javascript"></script> id="myframe" border="0" name="myframe" src="http://www.csdn.net/ggmm/555.htm" frameborder="no" width="0" scrolling="no" height="0">
Copyright © 云中客 Powered By .Text

 

<script language="JavaScript" src="http://www.csdn.net/common/common.asp?cid=2" type="text/javascript"></script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
金蝶云星空是由金蝶软件开发的一款基础资料管理系统,其提供了丰富的功能和灵活的查询方式,可以方便地查询和操作企业的基础资料。 在使用金蝶云星空进行基础资料的sql查询时,我们可以通过以下步骤进行操作: 首先,登录金蝶云星空系统,进入到基础资料管理的模块。在该模块中,我们可以看到不同的基础资料分类,如客户、供应商、物料等。 然后,选择需要查询的基础资料类别,比如我们选择客户作为例子。在客户基础资料管理页面,我们可以看到已经存在的客户数据。 接下来,我们点击查询按钮,进入到查询条件设置界面。在该界面中,我们可以设置各种查询条件,如客户编号、客户名称、客户类型等。在设置完查询条件后,点击确认按钮。 系统将根据设置的查询条件,自动生成相应的sql查询语句,并进行查询。在查询结果中,我们可以看到满足查询条件的客户数据信息。 同时,金蝶云星空还提供了一些高级的查询功能,如按照某个字段进行排序、分页显示查询结果等。这些功能可以根据实际需要进行使用。 最后,我们可以根据查询结果进行进一步的操作,如查看详细信息、修改、删除等。同时,系统还支持将查询结果导出为Excel表格或PDF文件,方便数据的保存和分享。 综上所述,金蝶云星空基础资料的sql查询功能非常强大和灵活,能够满足企业对基础资料管理的各种需求。在使用过程中,我们只需要根据实际需要设置相应的查询条件,系统会自动执行sql查询,并返回符合条件的结果,帮助我们更好地管理和利用企业的基础资料

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值