问题1:
<%#DataBinder.Eval(Container.DataItem,"userAgent")%>
<%# Eval("userAgent")%>
上面两条语句都是绑定数据,有什么区别?问题2:
<div class="style1"><%#DataBinder.Eval(Container.DataItem,"Content") %></div>现在要判断div标签内是否有内容,如果有则显示该div标签,如果无则不显示div标签!!!该如何处理?

解决方案 »

  1.   

    div连id都没有,在脚本里定位很麻烦的还是换个思路吧用Panel替代div(Panel到了客户端就是div)然后输出与否么,就在服务器端判别并设置Visible
      

  2.   

    <%#DataBinder.Eval(Container.DataItem,"userAgent")%>  //1.0的用法
    <%# Eval("userAgent")%>//2.0的用法<div class="style1"><%#DataBinder.Eval(Container.DataItem,"Content") %></div>
    根据 id 取得div ,用innerHTML属性
      

  3.   

    <%#DataBinder.Eval(Container.DataItem,"userAgent")%>      //1.0的用法
    <%# Eval("userAgent")%>                                   //2.0的用法
      

  4.   

    一、1.0与2.0的语法在性能上有没有区别?二、将div设id,该如何写代码,我的div是放在datalist的<ItemTemplate>模板内的
    代码:
    <ItemTemplate>
    <div class="style1" id="conetnet"><%#DataBinder.Eval(Container.DataItem,"Content") %></div>
    </ItemTemplate>麻烦大家贴点代码,JS确实很菜!!
      

  5.   

    还发现一问:如果用panel代替,确实很方便,但如果内容全为英文,则panel的width属性失效,没法换行!!(即一行数据超过panel宽度时无法自动切换到下一行)·!!
      

  6.   

    这个不是asp.net的问题
    而是html在浏览器中表现的问题请参考:http://www.blueidea.com/tech/web/2006/3469.asp
      

  7.   

    第一个1.1 与 2.0语法上的上区别 实际性能应该无区别。
    第二个
    <ItemTemplate>
    getDiv(<%#DataBinder.Eval(Container.DataItem,"Content").ToString()) %>
    </ItemTemplate>
    可以这样在后台 定义个函数
    protected string getDiv(string _Content)
    {
    if(_Content == "")
    {
     return "";
    }
    else
    {
     return "<div class=\"style1\" id=\"conetnet\">"+ _Content +"</div>";
    }
    }
      

  8.   

    ASP.NET 2.0改善了模板中的数据绑定操作,把v1.x中的数据绑定语法DataBinder.Eval(Container.DataItem, fieldname)简化为Eval(fieldname)。Eval方法与DataBinder.Eval一样可以接受一个可选的格式化字符串参数。缩短的Eval语法与DataBinder.Eval的不同点在于,Eval会根据最近的容器对象(例如DataListItem)的DataItem属性来自动地解析字段,而DataBinder.Eval需要使用参数来指定容器。由于这个原因,Eval只能在数据绑定控件的模板中使用,而不能用于Page(页面)层。当然,ASP.NET 2.0页面中仍然支持DataBinder.Eval,你可以在不支持简化的Eval语法的环境中使用它。
    下面的例子演示了如何使用新的简化的Eval数据绑定语法绑定到DataList数据项模板(ItemTemplate)中的Image、Label和HyperLink控件。<asp:DataList ID="DataList1" RepeatColumns="5" Width="600" runat="server" DataSourceID="ObjectDataSource1">
     <ItemTemplate>
      <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("PhotoID", "PhotoFormViewPlain.aspx?ID={0}") %>'>
      <asp:Image ID="Image1" Runat="server" ImageUrl='<%# Eval("FileName", "images/thumbs/{0}") %>' /></asp:HyperLink>
      <asp:Label ID="CaptionLabel" runat="server" Text='<%# Eval("Caption") %>' />
     </ItemTemplate>
    </asp:DataList><br />
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="DataComponentTableAdapters.PhotosTableAdapter" SelectMethod="GetPhotosForAlbum">   数据绑定也可以作为控件的主题定义(theme definition)的一部分,这样我们就可以通过改变主题来随意地改变模板化控件的布局和外观。但是Theme(主题)模板中只能使用Eval(或者后面讨论的Bind)。绑定到任意的用户代码是被禁止的。