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', ''); } }); }