2006年11月8日 从web.config中获取配置

  2006年11月8日 星期三 天气晴   Last Modify: Nov 10 2006
==================================================================================
 一转眼之间又过去了一周,天天都很忙而实际上却什么都没做的感觉还在继续……
 今天从早上就开始为那个PII的机器装系统,装了半天最后却还是不能用,真郁闷……不过今晚去女生宿舍装系统倒是发现了女生上自习的人极少这一现实,全都买了电脑在宿舍待着看……
 倒是校友会的网站初见成效,先是周日看了一下午的HTML和CSS,总算是对网页的这种初级语言有了不少的认识(手写作了英文笔记),对未来的开发有了不少有益的作用(这是后话,因为已经不是当天写的了……)。首页也已经基本完成了,新闻列表和内容显示页面也差不多了,估计本周就可以完成。
 由于有了不少新的关于.net的资料,在强调命名之后页面逻辑终于明了,而且通过重构使得代码更加规范,更有逻辑型和更少的重复。看来C#的重构功能却是不错。不过新的计划是把连接字符串保存到web.Config中,不过却遇到了一点麻烦,因为server.mapPath是个需要调用的函数……所以采用了折衷的方法,和SQL Server的数据库相对麻烦一些。使用的是程序的设置值。

在web.config中:
<configuration>
  <appSettings>
    <add key="NewsCon" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
    <add key ="NewsDB" value="~/App_Data/XYH.mdb;Persist Security Info=True"/>
    <add key="ClassCon" value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="/>
    <add key ="ClassDB" value ="~/App_Data/class.mdb;Persist Security Info=True"/>
  </appSettings>
 <connectionStrings/>
……
 

在程序中调用:
//string alConnStr = "Provider = Microsoft.Jet.OLEDB.4.0 ; " + "Data Source =" + Server.MapPath("~/App_Data/XYH.mdb");
            string alConnStr = ConfigurationManager.AppSettings["NewsCon"];
            alConnStr = alConnStr + Server.MapPath(ConfigurationManager.AppSettings["NewsDB"]);
            string alCmdStr = "SELECT  ID, name FROM AlumniAssociation";
            OleDbConnection conn = new OleDbConnection(alConnStr);
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(alCmdStr, conn);
            OleDbDataReader aldr = cmd.ExecuteReader();
            int columOfTable = 3;//校友分会显示的行数
            int nowColum = 0;
            while (aldr.Read())
            {……

另外就是前一段时间努力进攻的模板列终于派上了用场,在GridView的数据绑定后事件RowDataBound中后期更改HyperLink的Text,注意不是链接,链接是用超级连接列生成的,就是NavigateUrl='<%# Eval("ID", "NewsDetail.aspx?id={0}") %>' Text='<%# Eval("title") %>'> </asp:HyperLink> 很奇怪为什么ID要写在前面,也没有仔细查Eval的用法(单向绑定),只是知道怎么用向导去生成……
为了让标题不换行,Trim文本之后要添加一个省略号,所以用ComConvert.TitleTrim方法(和原来一样,只是改了改名字),在检查到数据列的时候DataControlRowType.DataRow,按名字查找到控件(HyperLink)e.Row.FindControl("NewsTitleLink"),修改一下相应的属性就行了。代码如下:

protected void SchoolNewsList_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        try
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink SchoolNewsTitle = (HyperLink)e.Row.FindControl("NewsTitleLink");
                SchoolNewsTitle.ToolTip = SchoolNewsTitle.Text;
                SchoolNewsTitle.Text = ComConvert.TitleTrim(SchoolNewsTitle.Text, DEFALT_TITLE_LENGTH);
            }
        }
        catch(Exception ex)
        {
            ComFunc.ErrLog(ex, reportDescription);
        }
}


  Rev 1.0  Creat Document  Nov 8 2006
  Rev 1.0  Finished Document Nov 10 2006

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值