龙亿

------ 细细口味人生中的每一杯苦咖啡.

导航

ASP.NET常用代码

Posted on 2008-12-07 23:45  龙亿  阅读(433)  评论(0编辑  收藏  举报

1.弹出对话框.
  a. 弹出对话框:
 
C# codeClientScript.RegisterStartupScript(this.GetType(), "",

"<script>window.alert('该会员没有提交申请,请重新提交!')</script>");


  b.转向指定页面
 
C# code Response.Write("

<script>window.location='http://www.gongxinkang.com.cn'

</script>");//window.location.href也可以


  c. 打开新的浏览器窗口

C# codeResponse.Write(" <script>window.open

('http://www.gongxinkang.com.cn/index.aspx') </script>");


  d.确认是否删除
 
HTML code<asp:Button ID="Button1" runat="server" Text="Button" 

OnClientClick="return  confirm('确认是否删除?')" />


  或者

C# code  Button1.Attributes.Add("OnClick", "return window.confirm('确认

是否删除?')")

 

        OnClientClick 属性来指定在引发某个 Button 控件的 Click 事件时所

执行的附加客户端脚本。return window.confirm('确认是否删除?')返回值如果

为false,就不会执行提交表单到服务器的脚本命令。
        Response.Write 中的javascript 总是发生在 

ClientScript.RegisterStartupScript中的javascript 之前,我是这么理解:
      1. ClientScript.RegisterStartupScript 用于添加在页面 </form>之前

添加javascript脚本,可以确定服务器端 <form>标签的所有html元素 都已经创

建出来。
      2.Response.Write将信息写入 HTTP 响应输出流,你会发现平时

Response.Write的内容总是在页面顶端,html元素 都还没有已经创建出来。
2.  删除文件

C# codestring filename ="aa.txt";
 System.IO.File.Delete(Server.MapPath("~/aa.txt"));


3.绑定下拉列表框
   
C# code  Dictionary<string, int> dic = new Dictionary<string, int>();
        dic.Add("请选择", -1);
        dic.Add("aa",0);
        dic.Add("eew",2);
        DropDownList1.DataSource=dic;
        DropDownList1.DataTextField="key";
        DropDownList1.DataValueField="value";
        DropDownList1.DataBind();


4.时间格式化
Label1.Text = DateTime.Now.ToString("T");
        /*格式化日期
        * d :08/17/2000
        D :Thursday, August 17, 2000
        f :Thursday, August 17, 2000 16:32
        F :Thursday, August 17, 2000 16:32:32
        g :08/17/2000 16:32
        G :08/17/2000 16:32:32
        m :August 17
        r :Thu, 17 Aug 2000 23:32:32 GMT
        s :2000-08-17T16:32:32
        t :16:32
        T :16:32:32
        u :2000-08-17 23:32:32Z
        U :Thursday, August 17, 2000 23:32:32
        y :August, 2000
        dddd, MMMM dd yyyy :Thursday, August 17 2000
        ddd, MMM d "'"yy :Thu, Aug 17 '00
        dddd, MMMM dd :Thursday, August 17
        M/yy :8/00
        dd-MM-yy :17-08-00  */
5.数字格式化:
     
C# code int i=123456;
        string s=i.ToString("###,###.00");
        Response.Write(s);

 

6.提取动态网页内容
     
C# code  Uri uri = new Uri("http://www.51aspx.com/");
        WebRequest req = WebRequest.Create(uri);
        WebResponse resp = req.GetResponse();
        Stream str = resp.GetResponseStream();
        StreamReader sr = new StreamReader(str,

System.Text.Encoding.Default);
        string t = sr.ReadToEnd();
        this.Response.Write(t.ToString());


7.获取" . "后面的字符
     
C# codestring i = "32432.32432"; 
       i= i.ToString().Trim().Substring(i.ToString().Trim

().LastIndexOf(".") + 1);
        Label1.Text = i;


8.gridview控件
 
HTML code<asp:GridView AutoGenerateColumns="false"

DataSourceID="SqlDataSource1" ID="GridView1"
                runat="server" OnRowCommand="GridView1_RowCommand"

OnRowCreated="GridView1_RowCreated"
                OnRowDataBound="GridView1_RowDataBound">
                <Columns>
                    <asp:BoundField HeaderText="ID" DataField="topicid"

/>
                    <asp:BoundField HeaderText="title"

DataField="topictitle" />
                    <asp:BoundField HeaderText="time"

DataField="topiccreatetime" />
                    <asp:TemplateField>
                        <ItemTemplate>
                            <input id="Button2" onclick="change(this)"

value="点击改变" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:ButtonField Text="删除" CommandName="del" />
                    <asp:HyperLinkField NavigateUrl="~/index.aspx"

DataTextField="topictitle" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server"

SelectCommand="select topicid,topictitle ,topiccreatetime from tbtopic"
                ConnectionString="<%$ ConnectionStrings:melon23 %>">
                <SelectParameters>
                </SelectParameters>
            </asp:SqlDataSource>

 

a.点击改变字段的值:

HTML code<script type="text/javascript">
   function change(obj)
{

  obj.parentNode.previousSibling.innerHTML="change";//firefox 不支持

innerText 它们都不是DOM标准的一部分
   
  }
  
    </script>

 

b.删除确认:
HTML code<asp:LinkButton ID="LinkButton1" runat="server"

CausesValidation="False" CommandName="Delete"
                       OnClientClick="return confirm('确定要删除吗?')"

Text="删除"></asp:LinkButton>


或者

(看页面控件树 <%@ Page    Trace="true" %>,确认要找的控件类型)

C# code protected void GridView1_RowCreated(object sender,

GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)  //判断是否为

数据行,要不有可能是标题行,执行会出错。
        {
       TableCell  myTableCell = (TableCell)e.Row.Controls[4];
          LinkButton btn = (LinkButton)myTableCell.Controls[0];
       btn.Attributes.Add("onclick", "return window.confirm('您是否确定

要删除这条信息')");
          
        }
    }

 

c 行变色


C# codeprotected void GridView1_RowDataBound(object sender,

GridViewRowEventArgs e)
    {

        if (e.Row.RowType == DataControlRowType.DataRow)  //判断是否为

数据行,要不有可能是标题行,执行会出错。
        {
           
            e.Row.Attributes.Add

("onclick","this.style.backgroundColor='#35dd23';");  //点击变色
           e.Row.Attributes.Add

("onmouseover","this.style.backgroundColor='#99cc00';this.style.color='

fff';this.style.cursor='default';");//经过变色
           e.Row.Attributes.Add

("onmouseout","this.style.backgroundColor='';this.style.color='';");//

恢复颜色
       }
   }


9.错误提示:从客户端(TextBox1="dsfgdsf <br/>sfd")中检测到有潜在危险的

Request.Form 值.

 只通过设置 validateRequest=false你的站点很容易引发跨站脚本攻击。
来自:

http://hi.baidu.com/wyd45123/blog/item/0376ae17a331b80dc83d6d61.html
第一步: <pages validateRequest="false" />
第二步:Page.Server.HtmlEncode( TextBox1.Text)将其中的HTML标签彻底禁止.
第三步:我们再对我们所感兴趣的、并且是安全标签,通过Replace()进行替换:

C# codeStringBuilder sb = new StringBuilder(
HttpUtility.HtmlEncode(htmlInputTxt.Text));
// 然后我们选择性的允许<b> 和 <i>
sb.Replace("&lt;b&gt;", "<b>");
sb.Replace("&lt;/b&gt;", "");
sb.Replace("&lt;i&gt;", "<i>");
sb.Replace("&lt;/i&gt;", "");
Response.Write(sb.ToString());

 

10、div内英文数字字符过长时如何自动分行 
1.在ie中IE里用word-wrap:break-word;width:240px;就可以解决了。 记住:这

只是ie的用法,word-wrap:break-word没有通过W3C认证,不是标准的css。
2.要在ie、firefox中实现要用到javascript:(注:用时在遇到长英文字母时会

有空格出现,希望高手有更好的方法)

HTML code<body class="home" onload="toBreakWord(70)">
 <script language="javascript" type="text/javascript">
function toBreakWord(intLen){  
var obj=document.getElementById("change");  
var strContent=obj.innerHTML; 
var strTemp="";  
while(strContent.length>intLen){  
strTemp+=strContent.substr(0,intLen)+"&#10;";  
strContent=strContent.substr(intLen,strContent.length);  
}  
strTemp+="&#10;"+strContent;  
obj.innerHTML=strTemp;  
}  
</script>