现在的位置: 首页 > 综合 > 正文

我修改/收藏的CSDN知识.(asp.net JavaScript)( 随时更新)

2013年02月19日 ⁄ 综合 ⁄ 共 10301字 ⁄ 字号 评论关闭

1.如何把一个javascript 中的数组 从客户端传到服务器端! 2005-09-13
向skytear() 又学一招,嘿嘿.  
<form id="Form1" method="post" runat="server">
    <INPUT id="hidden1" type="hidden" runat="server">
    <asp:Button id="Button7" runat="server" Text="获得客户端的数组"></asp:Button></P>
 </form>
    <script>
  var array1 = new Array();
  array1[0] ="你";
  array1[1] = "我";
  array1[2] ="他";
  document.all.hidden1.value = array1;
  </script>
--------------------------------------------------
private void Button7_Click(object sender, System.EventArgs e)
  {
   string strValue = this.hidden1.Value;
   Response.Write("<br>数组"+strValue); //不使用数组直接输出.
   string []  result = hidden1.Value.Split(',');//形成数组
   foreach(string str in result)
   {
    Response.Write("<br><br>数组:"+str);
   }

  }
2.求正则表达式(汉字,字母,数字 混合验证) 2005-09-13
首位汉字,
2-4位为字母,
第5位汉字,
6-14位为数字,
最后一位为汉字
^[\u4e00-\u9fa5][a-zA-Z]{3}[\u4e00-\u9fa5]\d{9}[\u4e00-\u9fa5]$

3.如何动态在datagrid中加入列标题和列内容? 2005-09-13

使用动态生成DataTable后,把DataTable绑定到DataGrid
<asp:datagrid id="DataGrid1" runat="server" Width="100%"></asp:datagrid>
  /// <summary>
  /// 根据条件绑定DataGrid
  /// </summary>
  /// <param name="strSql"></param>
  private void DataBind(string strSql)
  {

   DataTable dt = new DataTable();
   dt.Columns.Add(new DataColumn("字段0标题", typeof(string)));
   dt.Columns.Add(new DataColumn("字段1标题", typeof(string)));
   dt.Columns.Add(new DataColumn("字段2标题", typeof(string))); 
   dt.Columns.Add(new DataColumn("字段3标题", typeof(string)));
   dt.Columns.Add(new DataColumn("字段4标题", typeof(string)));

   SqlCommand cmd2 = new SqlCommand(strSql,db.conn);
   cmd2.Connection.Open();
   SqlDataReader dr1 = cmd2.ExecuteReader();
    
   while(dr1.Read())
   {
    DataRow dd;
    dd = dt.NewRow();
    dd[0] = "<INPUT type=\"checkbox\" name=\"mobilelist\" value="+dr1["txtemmobile"].ToString()+">";
    dd[1] = "<a href=\"employeemodify.aspx?employee_id="+dr1["intemid"]+"\">"+dr1["txtemname"].ToString()+"</a>" ;
    dd[2] =  dr1["em_position"];
    dd[3] =  dr1["txtemmobile"];
    dt.Rows.Add(dd);
   }
   cmd2.Connection.Close();
   DataView dv = new DataView(dt);
   DataGrid1.DataSource =dv;
   DataGrid1.DataBind();
  }
4.怎样测试一个页面的运行时间

(1)首先在web.config里面配置trace节(该节属于system.web节),配置如下:<trace enabled = "true"/>
接着可以访问你要测试的页面,访问之后在打开IE输入http://yourhost/yourApplication/trace.axd就可以看到刚才访问页面时服务器处理请求的详细信息,这个是比较准确的测试方法。

(2)
DateTime startTime;
void  Page_Init  (Object  sender,  EventArgs  e) 

startTime  =  DateTime.Now;
//Response.Write(startTime+"<br/>");
//Response.Write("page  init<br/>"); 

 
protected  override  void  Render(HtmlTextWriter  writer) 

base.Render(writer);
DateTime  endTime  =  DateTime.Now;
//Response.Write(endTime+"<br/>");
TimeSpan ts = endTime - startTime;
Response.Write("done  in  "  +  ts.Milliseconds.ToString());//ts.TotalMilliseconds.ToString());
}
5.c#中的日期差额:DateDiff在VB中有.

using System.TimeSpan:


DateTime dt = ...
DateTime d2 = ...
TimeSpan ts = dt - dt2;
n = ts.Hours;
6.文件下载
/// <summary>
/// 文件下载
/// </summary>
/// <param name="FullFileName"></param>
private void FileDownload(string FullFileName)
{
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer=false;
Response.ContentType="application/octet-stream";
Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();
}
7.固定状态栏,打开的窗口在同一个窗口中
<head>
<base onmouseover="window.status='★-- >>═→ D113音乐网 WWW.D113.COM 祝各位网友〖天天快乐〗!~ ⊙_⌒γ  --★';return true">
<base target="play">
</head>

8http://crtvu.edu.cn/readddsx.html?id=1946 这种readddsx.html?id=1946是怎么做的? 2005-09-17

打开IIS,在你要设置的站点的属性页的虚拟目录标签上,点击“应用程序设置(Application Settings)”下的“配置(Configuration..)”按钮,在打开的“应用程序配置(Application Configuration)”窗口中的“应用程序映射(App Mappings)”标签页中,点击下面的“添加(Add..)”按钮,在弹出的“添加/编辑应用程序后缀映射(Add/Edit Application Extension Mapping)”窗口中,在“可执行程序(Executable)”右边的文本框框中输入 C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll (文件路径会因.net框架版本的不同而不同,为安全起见,你可以在“应用程序映射(App Mappings)”标签页下的映射列表中双击“.aspx”,在弹出的窗口中选中它的“可执行程序(Executable)”文本框中的文本然后复制出来),在“后缀名(Extension)”文本框中输入你要添加的后缀名“.html”,然后点击确定保存所有打开的属性窗口即完成IIS中的设置;
第二步:打开你要配置的站点或虚拟目录的根目录下的web.config文件,在<system.web>配置节下加入如下配置节:
<add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory"/>
保存web.config文件,然后将所有的aspx文件的后缀改为html,在浏览器中打开看看是不是和aspx文件一样的效果!

http://www.ssite.cn/forums/104/ShowPost.aspx
adandelion
study English http://forums.devshed.com/  adandelion

我有一个datagrid绑定了记录,
在每条记录的右边有一个imagebutton
当用户点击imagebutton时,就执行一个程序。
但此时如果我用F5刷新页面时,为什么又执行了一次imagebutton事件呀

你要设置页面的 smartnavigation=true 才不会让地址栏累计历史纪录

UTF-8转换成中文      2005-09-24
http://xmaspx.com/blogs/hackate/
  private void Button2_Click(object sender, System.EventArgs e)
  {
   string utfinfo = "&#27426;&#36814;&#20351;&#29992;";
   string gb2312info = string.Empty;

   Encoding utf8 = Encoding.UTF8;
   Encoding gb2312 = Encoding.GetEncoding("gb2312");

   // Convert the string into a byte[].
   byte[] unicodeBytes = utf8.GetBytes(utfinfo);
   // Perform the conversion from one encoding to the other.
   byte[] asciiBytes = Encoding.Convert(utf8, gb2312, unicodeBytes);
           
   // Convert the new byte[] into a char[] and then into a string.
   // This is a slightly different approach to converting to illustrate
   // the use of GetCharCount/GetChars.
   char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
   gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
   gb2312info = new string(asciiChars);
   Response.Write(gb2312info);//欢迎使用
  }

#########怎样将字符串转换成可以执行的代码???   2005-10-03
http://community.csdn.net/Expert/topic/3985/3985223.xml?temp=.2579767

下面的把字符串中的数字表达式求值:
double a = (double)Eval("1+1*2");
string s = a.ToString();

public static object Eval(string expression)
{
System.Data.DataTable table=new System.Data.DataTable();
System.Data.DataColumn Col=new System.Data.DataColumn("AAA",typeof(string),expression);
table.Columns.Add(Col);

table.Rows.Add(new object[] {""});
return table.Rows[0][0];
}

----------------------

Microsoft.JScript.Vsa.VsaEngine ve=Microsoft.JScript.Vsa.VsaEngine.CreateEngine();
object qswhEval3(string Expression){
 return Microsoft.JScript.Eval.JScriptEvaluate(Expression,ve);
}

只需要添加Microsoft.JScript和Microsoft.Vsa两个引用就OK,超简洁....呵呵,多谢楼上朋友们的帮助.......

按照时间命名
string fileName = System.DateTime.Now.ToString("yyyyMdHms");
DateTime.Now.ToString("yyyyMMddhhmmss") + DateTime.Now.Millisecond.ToString()
+IP地址.

密钥加密

#region 密钥加密
  /// <summary>
  /// 得到加密字符串
  /// </summary>
  /// <param name="strText">要加密字符串</param>
  /// <param name="strEncrKey">密钥</param>
  /// <returns>加密后字符串</returns>
   public string DesEncrypt(string strText, string strEncrKey)//加密函数
   {
    byte[] byKey=null;
    byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
    try
    {
     byKey = System.Text.Encoding.UTF8.GetBytes(strEncrKey.Substring(0,strEncrKey.Length));
     DESCryptoServiceProvider des = new DESCryptoServiceProvider();
     byte[] inputByteArray = Encoding.UTF8.GetBytes(strText);
     MemoryStream ms = new MemoryStream();
     CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write) ;
     cs.Write(inputByteArray, 0, inputByteArray.Length);
     cs.FlushFinalBlock();
     return Convert.ToBase64String(ms.ToArray());

    }
    catch(System.Exception error)
    {
     return "error:" +error.Message+"\r";
    }
   }
  /// <summary>
  /// 得到解密后字符串
  /// </summary>
  /// <param name="strText">解密字符串</param>
  /// <param name="sDecrKey">密钥</param>
  /// <returns>解密后字符串</returns>
   public string DesDecrypt(string strText,string sDecrKey)//解密函数
   {
    byte[] byKey = null;
    byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
    byte[] inputByteArray = new Byte[strText.Length];
    try
    {
     byKey = System.Text.Encoding.UTF8.GetBytes(sDecrKey.Substring(0,8));
     DESCryptoServiceProvider des = new DESCryptoServiceProvider();
     inputByteArray = Convert.FromBase64String(strText);   
     MemoryStream ms = new MemoryStream();
     CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
     cs.Write(inputByteArray, 0, inputByteArray.Length);
     cs.FlushFinalBlock();
     System.Text.Encoding encoding = new System.Text.UTF8Encoding();
     return encoding.GetString(ms.ToArray());
    }
    catch(System.Exception error)
    {
     return "error:"+error.Message+"\r";
    }

   }
   #endregion
把这个写的类里调用就 行了

禁止键盘输入内容,禁止拷贝内容到某一输入域(如用户注册中的确认输入可以禁止拷贝前一个.).后一个是关闭输入法的 2005-10-23
http://community.csdn.net/Expert/topic/4186/4186163.xml?temp=.1564295

<INPUT onmousedown="return false" onkeydown="return false" onpaste="return false" type="file" size="50" name="File"  >
<INPUT ContentEditable="false" type="file" size="50" name="File"  >
<INPUT readonly type="input" size="50" name="File"  >

<INPUT style="ime-mode:disabled" type="file" size="50" name="File"  > 关闭中文输入法

只能输入中文信息
<asp:RegularExpressionValidator id="RegularExpressionValidator3" runat="server" ErrorMessage="RegularExpressionValidator"
      ControlToValidate="TextBox5" ValidationExpression="[\u4e00-\u9fa5]+">

ArrayList转换为字符数组的方法    2005-11-01
   ArrayList array = new ArrayList();
   for (int i=0;i<10;i++)
   {
    array.Add( "zhuzhu"+i.ToString());
   }
   //string [] strs = (string [])(array.ToArray(System.Type.GetType("System.String")));//方法1
   string [] strs = new string[array.Count];  //方法二
   array.CopyTo(strs);
   foreach( string str in strs)
   {
    Response.Write("<br>"+str);
   }

    简单随即数
    Random rd = new Random();
    int nTempId = rd.Next(10000);
    
    日期格式
time1.ToString("yyyy-MM-dd HH:mm:ss");
time1.ToString("yyyyMMddHHmmss");

导出到Excel的乱码问题的解决   2006-03-08

  protected override void Render(HtmlTextWriter output)
  {
   Response.Clear();
   Response.Buffer= true;
   //Response.Charset="gb2312";   
   Response.AppendHeader("Content-Disposition","attachment;filename=employee.xls");
   //rResponse.ContentEncoding=System.Text.Encoding.GetEncoding("gb2312");//设置输出流为简体中文
   Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。 
   //下面是关键设置了它就不会乱码了.也不知道为什么
   Response.Write("<meta http-equiv=Content-Type content=text/html;charset=gb2312>");
   DataTable dt = new DataTable();
   dt.Columns.Add(new DataColumn("员工姓名", typeof(string)));
   dt.Columns.Add(new DataColumn("登陆帐号", typeof(string)));
   dt.Columns.Add(new DataColumn("密码", typeof(string)));
   string sql0="select * from table1 where id=10000";
   db.Sql=sql0;
   SqlCommand cmd1 = new SqlCommand(sql0,db.conn);
   cmd1.Connection.Open();
   SqlDataReader dr2 = cmd1.ExecuteReader();    
   while(dr2.Read())
   {
    DataRow dr3;
    dr3 = dt.NewRow();
    dr3[0] = dr2["name"];
    dr3[1] = dr2["LoginName"];
    dr3[2] = dr2["Passowrd"];
    dt.Rows.Add(dr3);
   }
   cmd1.Connection.Close();  
   DataView dv = new DataView(dt);   
   DataGrid1.DataSource =dv;
   DataGrid1.DataBind(); 
   DataGrid1.RenderControl(output);
  }

抱歉!评论已关闭.