• 我的代码,写的pagebase。还是留着吧。语义化,与我的云平台一样,只不过云平台是用js写的。这个是webform.下回写mvc吧。核心很简单。


    Ps:记一下用的时候,一不小心我手贱碰到的问题吧:
    我在页面里面加上了form runat=server,然后所有的html控件就再也找不着了。
    就是下面的control collection这里,如果加上form runat=server标签,页面里面所有的控件就会变为form控件的子集。这样产生了问题,使页面不能使用,所以切忌!不要使用form runat=server标签!再不手贱了。
    要么就一定要用循环的方式,把所有的控件的子集都取出来放到一个collection里面再去遍历,要么就直接用findcontrol了。一码傻三年!
    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using JGDJWeb.Helper; using JGDJWeb.Model; namespace JGDJWeb.Extensions {     public abstract class PageBase:System.Web.UI.Page {         protected PageBase()         {         }         protected void BindModule(Page page, Action<Repeater, string> bindSingRpt) {             BindControls(page, "List_", bindSingRpt);         }                  protected void BindControls(Page page, String prefix, Action<Repeater, string> bindSingControl) {             var controlList = page.Controls;             foreach (Control control in controlList) {                 if (control.ID != null && control.ID.StartsWith(prefix) && control is Repeater) {                     var suffix = control.ID.Split('_')[1];                     if (prefix == "List_")                         bindSingControl(control as Repeater, suffix);                 }             }         }         protected void Bind(string className, HtmlAnchor anchor, Repeater repeater, int count) {             try {                 using (var context = new JGDJEntities()) {                     var classNo = context.JY_News_Classs.Where(n => n.ClassCName == className).First().ClassNo;                     var newss = Common.GetNewsListByCNo(Encrypt.MD5Encrypt(classNo));                     if (anchor != null) {                         anchor.HRef = "/List.aspx?ClassNo=" + Encrypt.MD5Encrypt(classNo);                     }                     repeater.DataSource = newss.Take(count);                     repeater.DataBind();                 }             } catch (Exception e) { }         }         #region 网站访问量         protected void pageviews() {             int count = 0;             //数据累加             int Stat = 0;             StreamReader srd;             //取得文件的实际路径             string file_path = Server.MapPath("/XML/counter.txt");             //打开文件进行读取             srd = File.OpenText(file_path);             while (srd.Peek() != -1) {                 string str = srd.ReadLine();                 count = int.Parse(str);             }             srd.Close();             // 在新会话启动时运行的代码             Application.Lock();             //获取Application对象中保存的网站总访问量             Stat = count;             Stat += 1;             object obj = Stat;             Application["counter"] = obj;             //将数据记录写入文件             StreamWriter srw = new StreamWriter(file_path, false);             srw.WriteLine(Stat);             srw.Close();             Application.UnLock();         }         #endregion     } }
  • 相关阅读:
    pdf.js使用
    当前时间距离下一个分钟值以0或者5结尾的时间点(单位:毫秒)小于1分钟时,返回下下个以0或5结尾的时间点
    1
    Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot get a connection, pool error Pool exhausted 异常原因排查
    gcp导出mysql慢日志写入数据库分析
    redis慢日志结构化
    谷歌云监控告警
    google-cloud的sql-rds导出my.cnf
    慢sql 实时钉钉告警
    docker跨网段搭建gp测试环境
  • 原文地址:https://www.cnblogs.com/hualiu0/p/4522699.html
Copyright © 2020-2023  润新知