日期:2014-05-18  浏览次数:20427 次

为什么当数据库返回null,会把Session置为空,谁知道原理?
我最近发现一个现象:
        在datalist中,如果你使用的HTML控件(例如img),而不是asp控件(例如asp:Image);当数据库返回的字段的值为null时,会把Session置为空;如果你使用的是asp:Image,那么Session正常。
        我不知道微软为什么这么做?谁知道原理吗?

<asp:datalist   id=DataList1   runat= "server "   Width= "100% "   DataSource= " <%#   dsBrowseQue1   %> "   Font-Names= "宋体 "   Font-Size= "8pt ">
  <ItemTemplate>
    <TABLE>
      <TR>
        <td>
          <!--   <asp:Image   id=Image1   runat= "server "   ImageAlign= "Left "   ImageUrl= ' <%#   DataBinder.Eval(Container.DataItem,   "ImageName ",System.Configuration.ConfigurationSettings.AppSettings[ "UpImagePath "]+ "{0} ")%> '   Visible= ' <%#   DataBinder.Eval(Container.DataItem,   "ImageName ").ToString()   ==   " "   ?   false   :   true     %> '> </asp:Image>   -->
          <img   src= ' <%#   DataBinder.Eval(Container.DataItem,   "ImageName ",System.Configuration.ConfigurationSettings.AppSettings[ "UpImagePath "]+ "{0} ")%> '   border= "0 "   onload= "javascript:DrawImage(this); "   style= 'display: <%#   DataBinder.Eval(Container.DataItem,   "ImageName ").ToString()   ==   " "   ?   "none "   :   "block "     %> '/>
        </td>
      </TR>
    </TABLE>
  </ItemTemplate>
</asp:datalist>


------解决方案--------------------
我没见过,感觉不太对啊,session不可能被清空吧?
------解决方案--------------------
session丢失遇到过,Lz说的,没有遇到过。
------解决方案--------------------
恩,
这个问题值得研究一下哦

------解决方案--------------------
顶!!!
------解决方案--------------------
学习,mark。
------解决方案--------------------
帮顶
------解决方案--------------------
只听说过Session丢失,没听说过楼主这种问题。