上面的有点错位,应该这样:
------------------------------------------------------------------------笔记本电脑及配件 台式电脑 掌上电脑/PDA
电脑配件 电脑外设 服务器/工作站/网络
办公设备 电脑软件 耗材 网络游戏帐
电脑产品维修 租赁/收购 全新台式整机 ----------------------------------------------------------------------------
------------------------------------------------------------------------笔记本电脑及配件 台式电脑 掌上电脑/PDA
电脑配件 电脑外设 服务器/工作站/网络
办公设备 电脑软件 耗材 网络游戏帐
电脑产品维修 租赁/收购 全新台式整机 ----------------------------------------------------------------------------
解决方案 »
- 急-Repeater中嵌入了RadioButtonList
- 有关formview分页的问题!!!请大家帮忙!
- 目录指向
- .net郵件發送問題(急)?
- 对路径“C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files\bmucp_edu_courseware_interface\9467ec7f\368352c0\ha
- datagrid查询的实现,急 急。
- 为什么会出现这个错?
- -----向aspx页面中加入Web 的textbox,为什么看不到----
- 试图运行项目时出错:无法在WEB服务器上启动调试。你没有调试该服务器的权限
- 谁有这们的经历?期待高手解答!
- 请问如何使用javascript调用ASP.NET的XML Web Server
- [菜鸟提问]从网上下了一个留言本的例子,运行时报一下错误,请问是什么原因?
是一个字段的吗?
<a href='category.aspx?id=<%#DataBinder.Eval(Container.DataItem,"编号")%>'><%#DataBinder.Eval(Container.DataItem,"分类名称")%></a>
</asp:Repeater>--------------------
后台代码:SqlConnection conn=...//省略
SqlDataAdapter adapter=new SqlDataAdapter("select 编号,分类名称 from 分类",conn);
DataTable table=new DataTable();
adapter.Fill(table);
Repeater1.DataSource=table;
Repeater1.DataBind();
repeater.DataBind();(具体参见陕北吴旗娃给出的后台代码)同数据源绑定时,repeater会为DataTable中的每一行创建一个列表项。接下来你为repeater的ItemCreated事件写如下代码:private void repeater_ItemCreated(object sender, RepeaterItemEventArgs e)
{
e.Item.Controls.Add(new LiteralControl("·")); DataRowView row = (DataRowView)e.Item.DataItem;
string url = "#"+row["id"];
string text = row["分类名称"]; HyperLink link = new HyperLink();
link.NavigateUrl = url;
link.Text = text; e.Item.Controls.Add(link);
}这段程序为每一个绑定生成的列表项生成内容,当然,你也可以像陕北吴旗娃那样在ASPX中给Repeater写ItemTemplate(结合数据绑定语法),不过这样会有一些性能代价(因为DataBinder.Eval使用Reflection求值,效率当然不如强类型访问,对于性能要求高的应用程序还是尽量避免的好)。另外,我开始提到的String.Join方法对于用连接符连接若干字符串是很有用的,比如说:
String.Join("·", new string[] {"a","b","c"})即得到a·b·c。结合合适的HTML代码也可以解决很多看上去很复杂的问题。
{
myRepeater.DataSource = new string[] {"one","two","three"};
myRepeater.DataBind();
}void DoWhenItemCreated(object sender, RepeaterItemEventArgs e)
{
e.Item.Controls.Add(new LiteralControl("·")); HyperLink link = new HyperLink(); string url = "anotherPage.aspx?" + (string)e.Item.DataItem;
string text = (string)e.Item.DataItem; link.NavigateUrl = url;
link.Text = text; e.Item.Controls.Add(link);
}</script>
<html>
<body style="font-family: Verdana">
<center>
<asp:Repeater runat="server" id="myRepeater"
OnItemCreated="DoWhenItemCreated" />
</center>
</body>
</html>