日期:2014-05-17  浏览次数:20410 次

标题,关键词,描述,调用对不对,
这都是从数据库里面调用出来的,
这样对搜索也没有什么影响

   
if (!IsPostBack) {

  DataBase d = new DataBase();
  SqlDataReader dr;
  d.runSQL("select * from toux", out dr);
  dr.Read();
  Page.Title = dr["touTitle"].ToString();

  l1.Text = "<meta name='description' content='" + dr["touMiaoshu"].ToString() + "' /><br /><meta name='keywords' content='" + dr["touGjianzi"].ToString() + "'/>";
  Page.Header.Controls.Add(l1);
   
   
  }


------解决方案--------------------
UI 不要出现SQL语句 把常用的操作封装成一个类吧。
我个人都喜欢把通用的代码功能写到一个类库里面,方便调用
------解决方案--------------------
我其实没太明白楼主的意思,这样调用,我观察到,有几点值得考虑的
1.dr.Read(),一般应该要加逻辑判断,就是看是否取到结果,避免因取不到结果引起程序异常;
2.dr["touTitle"].ToString(),直接ToString不可取,要先判断dr[]是否为DBNull值,才能作ToString转换,否则也有可能引起程序异常;
3.select * from toux的查询方式不太好,当不需要所有的结果时,尽量不去取出无关的结果
4.你的数据库连接要在Read过后才能关闭吧,这点我不太确定对不对,我觉得,需要确认你的数据库连接有没有在用完后关闭;
----------------
可以看出,写这些代码的人,在编码规范方面,还要加强一点了。
------解决方案--------------------
既然每个画面的标题都一样干嘛还要存在数据库里,直接在模板写死了就是。
<meta 这种标签用label显示?你这是要做什么?
如果要添加meta标签下面这样做。但还是建议直接写在画面上
C# code

 HtmlMeta meta = new HtmlMeta();
            meta.Name = "www";
            meta.Content = "wqeq";
            this.Header.Controls.Add(meta);