zoukankan      html  css  js  c++  java
  • ASP.NET程序中常用代码汇总(一)

    1. 打开新的窗口并传送参数:
    //传送参数:
    response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="++"’)</script>")
      
    //接收参数:
    string a = Request.QueryString("id");
    string b = Request.QueryString("id1");
    2.为按钮添加对话框
    Button1.Attributes.Add("onclick","return confirm(’确认?’)");
    button.attributes.add(
    "onclick","if(confirm(’are you sure?’)){return true;}else{return false;}")
    3.删除表格选定记录
    int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
    string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
    4.删除表格记录警告
    private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
    {
     
    switch(e.Item.ItemType)
     
    {
      
    case ListItemType.Item :
      
    case ListItemType.AlternatingItem :
      
    case ListItemType.EditItem:
       TableCell myTableCell;
       myTableCell 
    = e.Item.Cells[14];
       LinkButton myDeleteButton ;
       myDeleteButton 
    = (LinkButton)myTableCell.Controls[0];
       myDeleteButton.Attributes.Add(
    "onclick","return confirm(’您是否确定要删除这条信息’);");
       
    break;
      
    default:
       
    break;
     }

    }

    5.点击表格行链接另一页
    private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
     
    //点击表格打开
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
      e.Item.Attributes.Add(
    "onclick","window.open(’Default.aspx?id=" + e.Item.Cells[0].Text + "’);");
    }

      
    //双击表格连接到另一页
      
    //在itemDataBind事件中
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
     
    string OrderItemID =e.item.cells[1].Text;
     
     e.item.Attributes.Add(
    "ondblclick""location.href=’../ShippedGrid.aspx?id=" + OrderItemID + "");
    }

       
    //双击表格打开新一页
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
     
    string OrderItemID =e.item.cells[1].Text;
     
     e.item.Attributes.Add(
    "ondblclick""open(’../ShippedGrid.aspx?id=" + OrderItemID + "’)");
    }

      ★特别注意:【
    ?id=】 处不能为 【?id =
    6.表格超连接列传递参数
    <asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=’
     <%# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>’ />
    7.表格点击改变颜色
    if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
    {
     e.Item.Attributes.Add(
    "onclick","this.style.backgroundColor=’#99cc00’;
        this.style.color=’buttontext’;this.style.cursor=default’;");
    }
     
      写在DataGrid的_ItemDataBound里
    if (e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
    {
    e.Item.Attributes.Add(
    "onmouseover","this.style.backgroundColor=’#99cc00’;
       this.style.color=’buttontext’;this.style.cursor=default’;");
    e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=’’;this.style.color=’’;");
    }

    8.关于日期格式

    日期格式设定
    DataFormatString
    ="{0:yyyy-MM-dd}"
      
    //我觉得应该在itembound事件中
    e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))
    9.获取错误信息并到指定页面
    //不要使用Response.Redirect,而应该使用Server.Transfer
      e.g
    // in global.asax
    protected void Application_Error(Object sender, EventArgs e) {
    if (Server.GetLastError() is HttpUnhandledException)
    Server.Transfer(
    "MyErrorPage.aspx");

    //其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :)
    }

      
    //Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 
    10.清空Cookie
    Cookie.Expires=[DateTime];
    Response.Cookies(
    "UserName").Expires = 0
    web窗体状态栏内类似跑马等效果的实现
    第一步:定义一个javascript代码段 

    <script language="javascript"> 
    var strMsg = "          欢迎光临本站点by loveFXN          "
    function DoLoad(index) 

    window.status 
    = strMsg.substr(index,index+10); 
    index 
    = (index>=strMsg.length-10?0:index+1); 
    window.setTimeout('DoLoad('
    +index+')',300,"javascript"); 
    }
     
    </script> 

    该代码的功能是:每隔300毫秒则执行一次窗体状态栏内容的更新,并对显示内容长度作判断。 

    注意其中strMsg内的空格用来实现一段空白效果。 

    第二步: 

    在 
    <body onload="DoLoad(0)">内添加函数的实现。 

    看看效果,是不是比较好玩? 

    遍历获取ASP.NET页面控件的名称及值 
    如果直接用Page.Control 获取的到只是最顶层的页面元素,而真正的拖拉放上去的文本框或Label之类的控件,还隐藏在这些顶层页面元素的里面,所以需要再次遍历。
    函数及使用方法如下,结果保存在这里选择了HashTable的方式。

    protected void Page_Load(object sender, EventArgs e)
        
    {
            getAllControlValue(
    this);
        }


        Hashtable getAllControlValue( 
    object PageOrUserControl )
        
    {
            Hashtable rtn 
    = new Hashtable();

            
    foreach (Control ctr in (PageOrUserControl as Page).Controls)
            
    {
                getControlValue(ctr, rtn);
            }


            
    return rtn;
        }


        
    void getControlValue(Control ctrIn,Hashtable ht)
        
    {
            
    foreach (Control ctr in ctrIn.Controls)
            
    {
                Type controlType 
    = ctr.GetType();

                
    switch (controlType.ToString())
                
    {
                    
    case "System.Web.UI.WebControls.TextBox":
                        TextBox controlTextBoxObj 
    = (TextBox)ctr;
                        
    string controlTextBoxName = controlTextBoxObj.ID;
                        
    string controlTextBoxValue = controlTextBoxObj.Text;
                        ht.Add(controlTextBoxName, controlTextBoxValue);
                        
    break;
                    
    case "System.Web.UI.WebControls.Label":
                        Label controlLabelObj 
    = (Label)ctr;
                        
    string controlLabelName = controlLabelObj.ID;
                        
    string controlLabelValue = controlLabelObj.Text;
                        ht.Add(controlLabelName, controlLabelValue);
                        
    break;
                    
    //case "其他类型":
                    
    //    其它类型 controlTextBoxObj = (其它类型)ctr;
                    
    //    string controlTextBoxName = controlTextBoxObj.ID;
                    
    //    string controlTextBoxValue = controlTextBoxObj.Text;
                    
    //    ht.Add(controlTextBoxName, controlTextBoxValue);
                    
    //    break;
                    default:
                        
    break;
                }

            }

        }

  • 相关阅读:
    IP查询网和traceroute找到的网络出口不一致的原因
    [转载] 深入理解VMware虚拟机网络通信原理
    https工作流程
    HTTP1.1协议-RFC2616-中文版
    条件变量调用Signal的时候是否需要持有mutex
    HTTP Get一定是幂等的吗,统计访问量的时候呢?
    unix网络编程
    MySQL-SQL基础-DCL
    MySQL-SQL基础-查询1
    MySQL-SQL基础-子查询
  • 原文地址:https://www.cnblogs.com/ghd258/p/266666.html
Copyright © 2011-2022 走看看