Asp.Net Webform 常用代码

 1015、ASP.Net WebForm 数据绑定 < %# %>   < %= %>   < % %>  < %@ %> Eval("Name")

1、< %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据控件绑定

 如: < %# Container.DataItem("tit")%> Eval:为单项 Bind:为双向(可更新)绑定

 绑定字段:<asp:Lable id="lable1" runat="server" Text='<%#Eval("UserName")%>'/>

 绑定函数:<%#getName()%> 

 绑定变量:aspx:Visible='<%#IsAudit%>' cs:public bool IsAudit= false;

2、< %= %>: 在程序执行时被调用,可以显示后台变量值

 绑定变量:aspx: <%=Title%> cs: public string Title ="title";

 绑定函数:<%#getName()%> 

 服务器控件绑定变量:aspx:<asp:Button ID="btn_audit" runat="server" Text="审核" Visible="<%#IsAudit%>" /> cs:public bool IsAudit= false;Page_Load函数添加:Page.DataBind();

3、< % %>: 内联代码块里面可以在页面文件*.aspx或*.ascx文件里面嵌入后台代码

 如:<%for(int i=0;i<100;i++){Reaponse.Write(i.ToString());}%>

4、< %@ %>是在*.aspx页面前台代码导入命名空间,

 如:<%@Import namespace="System.Data"%>


<!--URL绑定 -->
<asp:HyperLink ID="HyperLink1" NavigateUrl='<%# Eval("ProjectID","MarketingLogList.aspx?ProjectInfoID={0}") %>' Text='<%# Bind("ProjectName") %>' runat="server"></asp:HyperLink> <asp:HyperLink id="Hyperlink1" runat="server" NAME="Hyperlink1" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "id", "DeptRoleModify.aspx?id={0:d}") %>'><%=GetTran("000036", "编辑")%></asp:HyperLink> <asp:HyperLink id="Hyperlink2" runat="server" NAME="Hyperlink1" NavigateUrl='<%# Eval("id","GroupInfoModify.aspx?id={0}") %>' ><%=GetTran("000036", "编辑")%></asp:HyperLink> <asp:HyperLink ID="HyperLink1" NavigateUrl='<%# "Marketingloglist.aspx?ProjectInfoID="+Eval("ProjectID")+"&ProjectInfoID="+Eval("ProjectID") %>' Text='<%# Bind("ProjectName") %>' runat="server"></asp:HyperLink> <asp:HyperLink id="Hyperlink1" runat="server" NAME="Hyperlink1" NavigateUrl='<%# "GroupInfoModify.aspx?id="+Eval("id")+"&type="+Eval("GroupType") %>' ><%=GetTran("000036", "编辑")%></asp:HyperLink> OnClientClick=<%#"btn_delete('"+Eval("class_name").ToString()+"',this);return false"%>

  

1、DropDownList 复制

            //DropDownList
            DropDownList2.Items.Clear();
            foreach (ListItem li in DropDownList1.Items)
            {
                DropDownList1.Items.Add(li);
            }

  

//循环删除判断 
            for (int i = 0; i < ddldw_xqid.Items.Count; i++)
            {
                ddldw_xqid.Items[i].Text = ddldw_xqid.Items[i].Text.Replace("教育局", "");
                if (ddldw_xqid.Items[i].Text.Equals("潍坊市"))
                {
                    ddldw_xqid.Items[i].Text = "市直";
                    ddldw_xqid.Items.RemoveAt(i);
                    ddldw_xqid.Items.Remove(ddldw_xqid.Items[i]);
                }               
            }
if (userds.Tables[0].Rows[0]["dw_lxid"].ToString().Equals("18")) { ddldw_lxid.Items.Remove(ddldw_lxid.Items.FindByValue("16")); ddldw_lxid.Items.Remove(ddldw_lxid.Items.FindByValue("17")); ddldw_lxid.Items.Remove(ddldw_lxid.Items.FindByText("县区教育局机关")); //ddldw_lxid.Items.Remove(new ListItem("县区教育局机关", "18")); //ddldw_lxid.Items.Remove(ddldw_lxid.Items.FindByValue("17")); trxq.Visible = false; }

  

 

2、读写AppConfig.config

/// <summary>
    /// 设置AppConfig配置文件
    /// </summary>
    /// <param name="AppKey">键</param>
    /// <param name="AppValue">值</param>
    public  void SetValue(string AppKey, string AppValue)
    {
        XmlDocument xDoc = new XmlDocument();
        //string path = Application.ExecutablePath;
        ServerInfo.GetRootPath();
        //path = path.Remove(path.IndexOf("bin"));
        //xDoc.Load(path + "App.config");
        string path = Server.MapPath("~/");
        xDoc.Load(path + "AppConfig.config");

        XmlNode xNode;
        XmlElement xElem1;
        XmlElement xElem2;
        // xNode = xDoc.SelectSingleNode("//configuration");
        xNode = xDoc.SelectSingleNode("//appSettings");
        xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']");
        if (xElem1 != null)
        {
            xElem1.SetAttribute("value", AppValue);
        }
        else
        {
            xElem2 = xDoc.CreateElement("add");
            xElem2.SetAttribute("key", AppKey);
            xElem2.SetAttribute("value", AppValue);
            xNode.AppendChild(xElem2);
        }
        xDoc.Save(path + "AppConfig.config");
    }

  

 3、webform获取实际地址:

 string strFilePath = Server.MapPath("~//ExamRecord.xml");

 Response.Write(Server.MapPath("~") + "</br>");

 Response.Write(Server.MapPath("~/App_code/WebService.cs") + "</br>");

E:\Net15\ReporterWebServer\ReporterWebServer
E:\Net15\ReporterWebServer\ReporterWebServer\App_code\WebService.cs

4、My97DatePicker 时间控件用法

<asp:TextBox ID="txttraining_starttime" onfocus="WdatePicker()" runat="server" CssClass=" input1"></asp:TextBox>

<asp:TextBox ID="txtexam_starttime" runat="server" CssClass="input1" onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'});"></asp:TextBox>

WdatePicker({dateFmt:'yyyy'});//只示年

5、asp.net js相互取值

JS中取得Asp.Net的值 

(1)取得服务端控件的值 
var s = document.getElementById("TextBox1").value;   //取得TextBox1的Text值 

(2)取得全局变量的值 

在Page_Load()方法前定义protected String sT; 
在Page_Load()方法中赋值sT = "哈哈"; 

JS中这样写取得 
var s = "<%=sT %>"; 



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

2. Asp.Net中取得JS的值 

推荐使用<asp:HiddenField ID="HiddenField1" runat="server" />控件 
在JS中添加代码 
document.getElementById("HiddenField1").value = '风中追风'; 
在后台代码中,可以直接使用HiddenField1.Value取得 

使用<input type="hidden" id="leslie" runat="server" /> 
在后台代码中,可以直接使用leslie.Value取得 

PS: 
也可以使用<input type="hidden" id="leslie" name="leslie">方法 
在后台操作中用Request.Form.Get("leslie");  //取得的是name="leslie"的值 

 

userds = (DataSet)Session["USERINFO"];
string strrole = "2,5,8,888";
string[] rolearray = strrole.Split(',');
if (rolearray.Contains(userds.Tables[0].Rows[0]["u_sf"].ToString()))
{
Response.Redirect("../Login.aspx", false); return;
}

 

        //FilterSql
        /// <summary>
        /// 过滤 Sql 语句字符串中的注入脚本
        /// </summary>
        /// <param name="source">传入的字符串</param>
        /// <returns></returns>      
        public static string FilterSql(string source)
        {
            //单引号替换成两个单引号
            if (source == null)
            {
                return "";
            }
            source = source.Replace("'", "''");
            //半角封号替换为全角封号,防止多语句执行
            source = source.Replace(";", "");
            source = source.Replace("--", "--");
            //半角括号替换为全角括号
            source = source.Replace("(", "");
            source = source.Replace(")", "");
            ///////////////要用正则表达式替换,防止字母大小写得情况////////////////////
            //去除执行存储过程的命令关键字
            source = source.Replace("Exec", "");
            source = source.Replace("Execute", "");
            //去除系统存储过程或扩展存储过程关键字
            source = source.Replace("xp_", "x p_");
            source = source.Replace("sp_", "s p_");
            //防止16进制注入
            source = source.Replace("0x", "0 x");
            return source;
        }

 

 public static void Add(string user_id, string action, string action_result)
    {
        Exam.Dal.actionlog dallog = new Exam.Dal.actionlog();
        Exam.Model.actionlog modellog = new Exam.Model.actionlog();
        modellog.user_id = user_id;
        modellog.action = action;
        modellog.action_result = action_result;
        modellog.action_time = DateTime.Now;
        //modellog.action_ip = PageHelper.GetIP();
        dallog.Add(modellog);
    }

 

设当前页完整地址是:http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli 
"http://"是协议名 
"www.jb51.net"是域名 
"aaa"是站点名 
"bbb.aspx"是页面名(文件名) 
"id=5&name=kelli"是参数 
【1】获取 完整url (协议名+域名+站点名+文件名+参数)

代码如下:

string url=Request.Url.ToString(); 
url= http://www.jb51.net/aaa/bbb.aspx?id=5&name=kelli
2】获取 站点名+页面名+参数:

代码如下:

string url=Request.RawUrl; 
(或 string url=Request.Url.PathAndQuery;) 
url= /aaa/bbb.aspx?id=5&name=kelli

【3】获取 站点名+页面名:

 代码如下:

string url=HttpContext.Current.Request.Url.AbsolutePath; 
(或 string url= HttpContext.Current.Request.Path;) 
url= aaa/bbb.aspx

【4】获取 域名:

代码如下:

string url=HttpContext.Current.Request.Url.Host; 
url= www.jb51.net

【5】获取 参数:

代码如下:

string url= HttpContext.Current.Request.Url.Query; 
url= ?id=5&name=kelli



 代码如下:

Request.RawUrl:获取客户端请求的URL信息(不包括主机和端口)------>/Default2.aspx 
Request.ApplicationPath:获取服务器上ASP.NET应用程序的虚拟路径。------>/ 
Request.CurrentExecutionFilePath:获取当前请求的虚拟路径。------>/Default2.aspx 
Request.Path:获取当前请求的虚拟路径。------>/Default2.aspx 
Request.PathInfo:取具有URL扩展名的资源的附加路径信息------> 
Request.PhysicalPath:获取与请求的URL相对应的物理文件系统路径。------>E:\temp\Default2.aspx 
Request.Url.LocalPath:------>/Default2.aspx 
Request.Url.AbsoluteUri:------>http://localhost:8080/Default2.aspx 
Request.Url.AbsolutePath:---------------------------->/Default2.aspx

 密码 !:

数字字母字符:[-\da-zA-Z`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]*((\d+[a-zA-Z]+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+)|(\d+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+[a-zA-Z]+)|([a-zA-Z]+\d+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+)|([a-zA-Z]+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+\d+)|([-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+\d+[a-zA-Z]+)|([-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+[a-zA-Z]+\d+))[-\da-zA-Z`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]*

纯数字:^\d+$
纯字母:^[a-zA-Z]+$
纯特殊字符:^[@#$%^&]+$  ps:特殊字符看你定义的标准是什么
字母+数字:^(?!\d+$)(?![a-zA-Z]+$)[a-zA-Z\d]+$
字母+特殊字符:^(?![a-zA-Z]+$)(?![@#$%^&]+$)[a-zA-Z@#$%^&]+$
数字+特殊字符:^(?!\d+)(?![@#$%^&]+$)[\d@#$%^&]+$
字母+数字+特殊字符:^(?!\d+$)(?![a-zA-Z]+$)(?![@#$%^&]+$)[\da-zA-Z@#$%^&]+$

必须包含字母+字符+数字[-\da-zA-Z`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]*((\d+[a-zA-Z]+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+)|(\d+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+[a-zA-Z]+)|([a-zA-Z]+\d+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+)|([a-zA-Z]+[-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+\d+)|([-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+\d+[a-zA-Z]+)|([-`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]+[a-zA-Z]+\d+))[-\da-zA-Z`=\\\[\];',./~!@#$%^&*()_+|{}:<>?]*

数字+字母+字符 或 字母+字符 或 数字+字母 或 数字+字符6-20^((?!\d+$)(?![a-zA-Z]+$)[a-zA-Z\d@#$%^&_+].{5,19})+$

(数字&&字母)|| 字符

^(?!\d+$)(?![a-zA-Z]+$)(?![a-zA-Z-`=\\\[\];',./~!@#$%^&*()_+|{}:"<>?]+$)(?![0-9-`=\\\[\];',./~!@#$%^&*()_+|{}:"<>?]+$)

 

      /// <summary>
        /// 分页获取数据
        /// </summary>
        /// <param name = "strWhere">查询条件</param>
        /// <param name = "OrderfldName">排序字段名</param>
        /// <param name = "PageSize">页大小</param>
        /// <param name = "PageIndex">要获取的页内容</param>
        /// <returns>分页查询获取的数据集</returns>
        public DataSet GetListPlanRegList1(string strWhere, string OrderfldName, int PageSize, int PageIndex)
        {
            SqlParameter[] parameters = {
                    new SqlParameter("@tblName", SqlDbType.VarChar, 255),
                    new SqlParameter("@fldName", SqlDbType.VarChar, 255),
                    new SqlParameter("@strWhere", SqlDbType.VarChar,1000),
                    new SqlParameter("@OrderfldName", SqlDbType.VarChar, 255),
                    new SqlParameter("@PageSize", SqlDbType.Int),
                    new SqlParameter("@PageIndex", SqlDbType.Int)
                    };
            parameters[0].Value = " dbo.Ex_ExamPlan INNER JOIN dbo.Ex_PlanPerson ON dbo.Ex_ExamPlan.id = dbo.Ex_PlanPerson.plan_id";
            parameters[1].Value = " dbo.Ex_ExamPlan.*,dbo.Ex_PlanPerson.id as pid,dbo.Ex_PlanPerson.user_id,dbo.Ex_PlanPerson.user_name,dbo.Ex_PlanPerson.istraining,dbo.Ex_PlanPerson.creat_time,dbo.Ex_PlanPerson.isconfirm";
            parameters[2].Value = strWhere;
            parameters[3].Value = OrderfldName;
            parameters[4].Value = PageSize;
            parameters[5].Value = PageIndex;
            return SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "UP_GetRecordByPageOrder", parameters);
        }

 

验证电话:

    #region 验证手机号
   
    /// <summary>
    /// 验证手机号
    /// </summary>
    /// <param name="source"></param>
    /// <returns></returns>
    public static bool IsMobile(string source)
    {
        //return Regex.IsMatch(source, @"^1[3-8]\\d{9}", RegexOptions.IgnoreCase);
        return Regex.IsMatch(source, @"^(0|86|17951|086)?(13[0-9]|15[012356789]|17[0678]|18[0-9]|14[57])[0-9]{8}$");
    }
    /// <summary>
    /// 座机
    /// 匹配3位或4位区号的电话号码,其中区号可以用小括号括起来,
    /// 也可以不用,区号与本地号间可以用连字号或空格间隔,
    /// 也可以没有间隔
    /// \(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8}|\(0\d{3}\)[- ]?\d{7}|0\d{3}[- ]?\d{7}
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    public static bool IsPhone(string input)
    {
        string pattern = "^\\(0\\d{2}\\)[- ]?\\d{8}$|^0\\d{2}[- ]?\\d{8}$|^\\(0\\d{3}\\)[- ]?\\d{7}$|^0\\d{3}[- ]?\\d{7}$";
        Regex regex = new Regex(pattern);
        return regex.IsMatch(input);
    }
    public static bool IsAllPhone(string input)
    {
        bool ret = false;
        if (IsPhone(input) || IsMobile(input))
        {
            ret = true;
        }
        return ret;
    }
    #endregion

 like参数化模糊查询

  protected void Page_Load(object sender, EventArgs e)
    {
        //string strSql = "select * from tbl_music where  musicname like '%@ii%'";//错误的
        string strSql = "select * from tbl_music where  musicname like '%'+@name+'%'";//正确的
        SqlParameter[] p ={
            new SqlParameter("@name",SqlDbType.NVarChar)
        };
        p[0].Value = "爱";
        DataSet ds = DbHelperSQL.Query(strSql,p);
        GridView1.DataSource = ds.Tables[0];
        GridView1.DataBind();
    }

JS执行WebForm的按钮事件

document.getElementById("btnshizheng").click();

 function show_detail(id) {
            parent.layer.open({
                type: 2,
                title: '打印',
                maxmin: true,
                shadeClose: false,                
                area: ['620px', '480px'],
                shade :0.8,
                content: '/Certificate/CertificatePrint.aspx?id=' + id + '&istop=1',
                end: function () {
                    //location.reload();                  
                    __doPostBack('btnSearch', '');                  
                }
            });
        }

 

posted on 2015-05-04 09:00  雪夜  阅读(734)  评论(0编辑  收藏  举报