我要实现到的功能是,显示二级分类,作为栏目,然后把属于二级分类的文章标题都存放在该栏目中,实现显示多个栏目分类显示新闻标题我尝试将数据源AccessDataSource2嵌入到显示栏目的Repeater内,再用GridView1把数据源显示出来,但是AccessDataSource2不能获取到Repeater 中 <%# Eval("id") %> 的值,我也尝试过把 <%# Eval("id") %> 定义成Session,再让AccessDataSource2获取,但是定义不到,也尝试过把<%# Eval("id") %>赋值给一个Label1然后再获取Label1,但是也获取不到。以下是源码及错误信息,求高手帮助帮助~感谢<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<div id= "box"><a class="boxa" href="<%# "News.aspx?id=" & Eval("id") %>">更多..</a> <h2><%# Eval("Class_Name") %></h2>
<!----------------------------以下的AccessDataSource2数据源筛选的是获取Repeater中的Eval("id")------------------------------>
<asp:AccessDataSource ID="AccessDataSource2" runat="server"
DataFile="~/App_Data/Database.mdb"
SelectCommand="SELECT * FROM [News] WHERE ([分类ID] = ?)">
<SelectParameters>
<asp:Parameter DefaultValue='<%# Eval("id") %>' Name="分类ID" Type="Int32" />
</SelectParameters>
</asp:AccessDataSource>
<!---------------------------以下的GridView1只作显示AccessDataSource2数据源的值------------------------------------->
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
CellPadding="4" DataKeyNames="ID" DataSourceID="AccessDataSource2"
ForeColor="#333333" GridLines="None" Width="640px">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:BoundField DataField="新闻标题" HeaderText="标题" SortExpression="新闻标题" />
<asp:BoundField DataField="来源" HeaderText="来源" SortExpression="来源" />
<asp:BoundField DataField="添加时间" HeaderText="添加时间" SortExpression="添加时间" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
</ItemTemplate>
</asp:Repeater><strong>分析器错误消息: </strong>仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.Parameter 没有 DataBinding 事件。<br />
<br />
<strong>源错误:</strong> <br />
<br />
<table width="100%" bgcolor="#ffffcc">
<tbody>
<tr>
<td><pre> 行 37: SelectCommand="SELECT * FROM [News] WHERE ([分类ID] = ?)"> 行 38: <SelectParameters> 行 39: <asp:Parameter DefaultValue='<%# Eval("id") %>' Name="分类ID" Type="Int32" /> 行 40: </SelectParameters> 行 41: </asp:AccessDataSource></pre></td>
</tr>
</tbody>
</table>
<br />
<strong>源文件: </strong>/peijiao/class.aspx<strong> 行: </strong>39
<ItemTemplate>
<div id= "box"><a class="boxa" href="<%# "News.aspx?id=" & Eval("id") %>">更多..</a> <h2><%# Eval("Class_Name") %></h2>
<!----------------------------以下的AccessDataSource2数据源筛选的是获取Repeater中的Eval("id")------------------------------>
<asp:AccessDataSource ID="AccessDataSource2" runat="server"
DataFile="~/App_Data/Database.mdb"
SelectCommand="SELECT * FROM [News] WHERE ([分类ID] = ?)">
<SelectParameters>
<asp:Parameter DefaultValue='<%# Eval("id") %>' Name="分类ID" Type="Int32" />
</SelectParameters>
</asp:AccessDataSource>
<!---------------------------以下的GridView1只作显示AccessDataSource2数据源的值------------------------------------->
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"
CellPadding="4" DataKeyNames="ID" DataSourceID="AccessDataSource2"
ForeColor="#333333" GridLines="None" Width="640px">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:BoundField DataField="新闻标题" HeaderText="标题" SortExpression="新闻标题" />
<asp:BoundField DataField="来源" HeaderText="来源" SortExpression="来源" />
<asp:BoundField DataField="添加时间" HeaderText="添加时间" SortExpression="添加时间" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
</div>
</ItemTemplate>
</asp:Repeater><strong>分析器错误消息: </strong>仅对具有 DataBinding 事件的对象提供数据绑定表达式支持。System.Web.UI.WebControls.Parameter 没有 DataBinding 事件。<br />
<br />
<strong>源错误:</strong> <br />
<br />
<table width="100%" bgcolor="#ffffcc">
<tbody>
<tr>
<td><pre> 行 37: SelectCommand="SELECT * FROM [News] WHERE ([分类ID] = ?)"> 行 38: <SelectParameters> 行 39: <asp:Parameter DefaultValue='<%# Eval("id") %>' Name="分类ID" Type="Int32" /> 行 40: </SelectParameters> 行 41: </asp:AccessDataSource></pre></td>
</tr>
</tbody>
</table>
<br />
<strong>源文件: </strong>/peijiao/class.aspx<strong> 行: </strong>39
解决方案 »
- 关于vs2005的CustomValidator控件使用
- 關閉父窗體
- Repeater 中的只一个label的Visible为TRUE,其它为FALSE
- 在线等,在windows2k上发布asp.net2.0没有任何问题,在windows2003上发布进报堆栈溢出!
- image控件中无法显示图片
- 师傅们,快来帮帮小第吧!!
- 我遇到的怪问题!!!!!!!
- 急啊,谁能帮我解决,在线等候:下面是我的system.acsx,我想从这个文件中的各个链接点链接到下一级目录中的网页,可是只能点一次能进去,点第
- 安装VS.NET2003后,IIS出错了,就重新安装IIS,发现IIS无法编译ASPX文件了,怎么办?
- 在ASP.NET页中如何用SSL进行数据间的加密.
- .net 以前写的一个程序,现在能运行,但是没界面,在线等。。
- 设计权限精确到页面上的按钮
具体谷歌搜索repeater嵌套,
QueryStringField="bstype" Type="String" />应该要指明参数是来自那里,可能是Session,QueryString,Control等等
那我如何把<%# Eval("id") %>赋值给Session呢?
PropertyName="SelectedValue" Type="String" /> 尝试一下