<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
     <ItemTemplate>
         <li>
          <div class="class_title"><%#Eval("ClassCName") %><font size="2" color="#FF0000">今日主题数:   <%#Foosun.CMS.JYJLTopicControl.GetCount("classid='561273920180'", "").ToString()%></font></div>
                  <%System.Collections.Generic.List<Foosun.Model.JYJL_Topic> info = (System.Collections.Generic.List<Foosun.Model.JYJL_Topic>)Foosun.CMS.JYJLTopicControl.GetList("classid='561273920180'", "addTime", true, 1, "");%>
                  <div class="class_info">最新发表:<%=info[0].Title.ToString()%> 
                  作者:<%=info[0].AddUser.ToString()%> 
                  时间:<%=info[0].AddTime.ToString() %> 
                  回复:<%=info[0].Response.ToString() %></div>
                  <div style="height:5px;"></div>
                </li>
                </ItemTemplate>
            </asp:Repeater>
 
            <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
                SelectMethod="getClassListPublic" TypeName="Foosun.CMS.Common.rootPublic" >
                <SelectParameters>
                    <asp:Parameter Name="ParentID" Type="String" DefaultValue="711736511108" />
                </SelectParameters>
            </asp:ObjectDataSource>其中 数据源上是返回栏目列表的。栏目列表中包括有classid的列。
以上是可以正确运行的。
但我想动态修改
Foosun.CMS.JYJLTopicControl.GetList("classid='561273920180'", "addTime", true, 1, "");
这个方法中的的classid='561273920180'
因为栏目是会变化的。本想使用 classid='Eval("ClassID")' 这样写的。但是运行结果有错。
说是Eval()方法只用于绑定到控件上。
请问有什么方法能代替 Eval("ClassID") 取得 classid呢?

解决方案 »

  1.   

    <%# Eval("ClassID") %>
      

  2.   


    Foosun.CMS.JYJLTopicControl.GetList(((DataRowView)Container.DataItem)["classid"].ToString(), "addTime", true, 1, "");
    试下
      

  3.   


    页面引入
    <%@ Import Namespace="System.Data" %>
      

  4.   


    Foosun.CMS.JYJLTopicControl.GetList("classid='<%# Eval("ClassID") %>'", "addTime", true, 1, "");你认为能这样写吗?
      

  5.   


    <div class="class_title"><%#Eval("ClassCName") %><font size="2" color="#FF0000">今日主题数:<%#Foosun.CMS.JYJLTopicControl.GetCount("classid=" + ((System.Data.DataRowView)Container.DataItem)["ClassID"].ToString(), "").ToString()%></font></div>
                      <div class="class_info">最新发表:<%#Foosun.CMS.JYJLTopicControl.GetList("classid=" + ((System.Data.DataRowView)Container.DataItem)["ClassID"].ToString(), "addTime", true, 1, "")[0].Title.ToString()%> 
                      作者:<%#Foosun.CMS.JYJLTopicControl.GetList("classid=" + ((System.Data.DataRowView)Container.DataItem)["ClassID"].ToString(), "addTime", true, 1, "")[0].AddUser.ToString()%> 
                      时间:<%#Foosun.CMS.JYJLTopicControl.GetList("classid=" + ((System.Data.DataRowView)Container.DataItem)["ClassID"].ToString(), "addTime", true, 1, "")[0].AddTime.ToString()%> 
                      回复:<%#Foosun.CMS.JYJLTopicControl.GetList("classid=" + ((System.Data.DataRowView)Container.DataItem)["ClassID"].ToString(), "addTime", true, 1, "")[0].Response.ToString()%></div>
                      
    谢谢2楼提醒
      

  6.   


    直接写呀。这里用的三层架构模式。你可以用动软代码生成器生成代码看看就知道啦。
    其中有一个是BLL,bussiness logic layer 业务逻辑层。里面是放置各种对数据操作,包括插入,修改,删除,选择,返回列表。。这些方法可以直接在 写在页面上输出呀