Asp.net 常用技巧

来源:互联网 发布:linux安装samba 编辑:程序博客网 时间:2024/05/22 16:40
ASP.NET常用技巧
1、    获得当前日期和星期
  
string[] weekday =...;
        DateTime dt 
= DateTime.Now;        
        Response.Write(
"<font size=8 color=yellow>系统日期时间:"+dt.ToString()+"<br>");
        Response.Write(
"获得今天是星期几:" + weekday[(int)dt.DayOfWeek] + "<br>");
2、    读取TXT文件
string path = Server.MapPath("text/5.txt");
        Response.Write(
"<font size=4 color=blue>");
        System.Text.StringBuilder sb 
= new System.Text.StringBuilder();
        
try
        
...
        
catch (Exception ex)
        
...
3、    跳转网页
Server.Transfer(
"err.htm");            Response.Redirect ()

两个的作用都是一样的

4、    Server.Execute()方法类似以上面的作用,区别在于该方法有些像在主程序调用子程序,当转移ASP。NET程序执行完成后,还会回到调用转移的ASP。NET程序中。即会把调用的子程序的结果返回到主程序中。
Response.Write(
"看看提供的转移功能是不是真的!");
    Server.Execute(
"two.aspx");
 Response.Write(
"<font size=20 color=green>" + "已经完成!" + "</font><br>");
5、    对字符串使用HTML编码方式进行编码Server.HtmlEncode()和Server.HtmlDecode()
Server.HtmlEncode(
"<p>ASP。NET2。0网页制作正在进行中。。。。。。。。。。。</p>");//直接显示HTML源代码 
显示结果为:<p>ASP。NET2。0网页制作正在进行中。。。。。。。。。。。</p>

Response.Write(
"<b>"+Server.HtmlDecode(str)+"</b><br>");//对HTML码进行译码
 显示结果为:ASP。NET2。0网页制作正在进行中。。。。。。。。。。。

6、    同理,可对页面里的参数进行URL参数传递特殊的符号,例如:#、?和&字符就需要Server.UrlEncode()方法进行编码处理,如果不需要进行处理,Server.UrlDecode()方法
例:
<a href="Default2.aspx?name=<% =Server.UrlDecode("陈会安? & #") %>">没有有编码</a>
        等价
<a href="Default2.aspx?name=陈会安? & #>有编码</a>
在地址栏里显示:http://localhost/test2/Default2.aspx?name=陈会安?%20&
若要传递特殊符号,则需要用如下方式:
<a href="Default2.aspx?name=<% =Server.UrlEncode("陈会安? & #") %>">有编码</a>
即显示了:陈会?    即没有正确传递过来
在地址栏里显示:
http:
//localhost/test2/Default2.aspx?name=%e9%99%88%e4%bc%9a%e5%ae%89%3f+%26+%23
即显示了:陈安会 ? & #
7、    获得QueryString集合对象
string[] name = Request.QueryString.GetValues("name");即是对Method=get
    
string[] pass = Request.Form.GetValues("pass"); 
    Response.Write(
"用户密码:" + pass[0+ "" + pass[1+ "<br>");即是对Method=post而言
8、    ASP.NET提示框显示    
a)    
<control name>.Attributes.Add(Attributes.Add(key,value) 
例: button1.Attributes.Add(
"onClick""alert('测试成功!')"); 
b)    向应客户端发出的脚本块
  
this.RegisterClientScriptBlock("测试""<script>alert('请输入完整!')</script>");
c)    Reponse.Write(
"<script>alert('消息')</script>");
9、    动态加载用户控件
通过编程方式创建用户控件,必须调用页面的LoadControl方法,这个方法接收用户控件源文件的相对路径为参数,返回一个 Control类型的对象,然后显式地将对象转换成用户控件的强类型,具体代码如下:

Header had 
= (Header)LoadControl("Header.ascx");
           Place.Controls.Add(had);
前台: 
<form id="form1" runat="server">
    
<div>
    
<asp:PlaceHolder ID="Place" runat="server"></asp:PlaceHolder>
    
</div>
</form>
10、    网页之提示框
Button1.Attributes.Add (
"onClick""return confirm('是否继续?')");
 
//如果单击是确定的话,则继续往下执行,否则停止执行
Response.Write("<script>alert('哈哈,成功了!');</script>");
以上的格式为:
Response.Write(
"javascript:alert('hahahah!')");       
或:     
<control   name>.Attributes.Add("onClik","   return   confirm('are   you   sure?')");
第三种方法是:
RegisterStartupScript(
"key""<script>alert('才刚刚开始哦!')</script>");
//参数一是脚本块的唯一键,参数二是发送到客户端的脚本内容.
11、 悬停时的提示代码
this.Button1.ToolTip = "欢迎你注册!";
12、参数传递,新引入的方式,通过PostBackUrl传递
    在第一个面的文件名为:one.aspx
    并且写好要传递参数的属性值。例:
    
public TextBox Uid
    
{        get{      return this.txtUid; }}
    
public TextBox Pwd{  get        return this.txtPwd; } }
然后按钮事件写上要转到的页面:
this.Button1.PostBackUrl= "post.aspx";
在第二个接收参数的面面写上:
<%@ PreviousPageType VirtualPath="~/default.aspx" %>
然后就可以直接使用了
          lUid.Text 
= PreviousPage.Uid.Text.ToString();
     lPwd.Text 
= PreviousPage.Pwd.Text.ToString();
13、解决表单传递参数变乱码
在web.config里加下列语句 
 
<globalization   requestEncoding="gb2312"   responseEncoding="gb2312"/>
14、 asp.net如何取得纯客户端控件的值
 例一:纯客户端控件 
 
<input name="edisundong" type="text">
 在服务器端取得的方法  
 
string strvalue=Request.Form.Get("edisundong");
 例二:纯客户端控件 
<input type="radio" name="sex" value="1" checked="true" />
<input type="radio" name="sex" value="2" />
string[] strvlaues = Request.Form.GetValues("sex");
 
原创粉丝点击