asp.net如何用repeater读取数据库内容做链接(C#)急……
我想用repeater控件显示数据库的字段,然后点击每一条记录可以链接到相同的页面,但是要求根据点击的不同行显示不同的记录(记录在数据库中)。比如我有个数据库表T_use...
我想用repeater控件显示数据库的字段,然后点击每一条记录可以链接到相同的页面,但是要求根据点击的不同行显示不同的记录(记录在数据库中)。比如我有个数据库表T_user,里面有字段userid(主键),username,useraddress。要求在首页显示username,点击不同的username,可以在user页面显示,T_user的全部信息。这样说够明白吗?
展开
4个回答
展开全部
你可以给链接的页面传一个参数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")%>' >
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")%>' >
展开全部
说下思路吧,首先你会绑定repeater,然后在绑定username 这一列的时候 给一个超链接指向到你显示详细的那个页面,并且把userid 传过去,在详细页面获取到request["userid"]的值,然后进行按照这个ID 查询出数据库的结果,显示详细。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你先在首页绑定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的所有信息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
学习了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询