asp.net如何用repeater读取数据库内容做链接(C#)急……

我想用repeater控件显示数据库的字段,然后点击每一条记录可以链接到相同的页面,但是要求根据点击的不同行显示不同的记录(记录在数据库中)。比如我有个数据库表T_use... 我想用repeater控件显示数据库的字段,然后点击每一条记录可以链接到相同的页面,但是要求根据点击的不同行显示不同的记录(记录在数据库中)。比如我有个数据库表T_user,里面有字段userid(主键),username,useraddress。要求在首页显示username,点击不同的username,可以在user页面显示,T_user的全部信息。这样说够明白吗? 展开
 我来答
百度网友4132b96
推荐于2017-12-16 · TA获得超过102个赞
知道答主
回答量:77
采纳率:0%
帮助的人:63.1万
展开全部
你可以给链接的页面传一个参数userid。类似这样写:

UserList.aspx的代码:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><table width="100%" border="1" cellspacing="1" cellpadding="0">
<tr>
<td>姓名</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<a href='UserDetail.aspx?id=<%# Eval("userid")%>' ><%#Eval("username") %></a>
</td>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>

UserList.aspx.cs的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection myConnecttion=new SqlConnection("server=.;database=DBName;uid=sa;pwd=");
SqlDataAdapter myCommand=new SqlDataAdapter("select * from T_user",myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,"user");
Repeater1.DataSource = ds.Tables["user"].DefaultView;
Repeater1.DataBind();
}
}

UserDetail.aspx的代码:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate><table width="100%" border="1" cellspacing="1" cellpadding="0">
<tr>
<td>ID</td>
<td>姓名</td>
<td>地址</td>
</tr>
</HeaderTemplate>
<ItemTemplate><tr>
<td><%#Eval("id") %></td>
<td><%#Eval("username") %></td>
<td>
<%# Eval("useraddress")%>
</td>
</tr>
</ItemTemplate>
<FooterTemplate></table></FooterTemplate>
</asp:Repeater>

UserDetail.aspx.cs的代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection myConnecttion=new SqlConnection("server=.;database=DBName;uid=sa;pwd=");
SqlDataAdapter myCommand=new SqlDataAdapter("select * from T_user where userid="+Request["id"],myConnection);
DataSet ds=new DataSet();
myCommand.Fill(ds,"user");
Repeater1.DataSource = ds.Tables["user"].DefaultView;
Repeater1.DataBind();
}
}

若不明白,可以追问。
若满意,望采纳。
O(∩_∩)O <a href='UserDetail.aspx?id=<%# Eval("userid")%>' >
<a href='UserDetail.aspx?id=<%# Eval("userid")%>' >
解忧解忧杂货铺
2012-06-26 · TA获得超过590个赞
知道小有建树答主
回答量:1536
采纳率:33%
帮助的人:688万
展开全部
说下思路吧,首先你会绑定repeater,然后在绑定username 这一列的时候 给一个超链接指向到你显示详细的那个页面,并且把userid 传过去,在详细页面获取到request["userid"]的值,然后进行按照这个ID 查询出数据库的结果,显示详细。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不想太帅噢
2012-06-26 · TA获得超过196个赞
知道小有建树答主
回答量:263
采纳率:0%
帮助的人:159万
展开全部
你先在首页绑定username <%#Eval username%> 再加一个<asp:HyperLinkField DataNavigateUrlFields="username" DataNavigateUrlFormatString="user.aspx?id={0}" Text="详细信息"> </asp:HyperLinkField> 在user.aspx页面用request.querystring["username"]就可以拿到你点击的行的username,然后你就可以在user.aspx页面拿T_user的所有信息
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
515133498
2012-06-26 · TA获得超过121个赞
知道小有建树答主
回答量:436
采纳率:0%
帮助的人:94.8万
展开全部
学习了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式