我在DB中有一个表:
NOTICE(NUM,TITLE,CONTENT)
我在ASP中使用Repeater Control来显示DB中的所有通知,例如:
+----------+------------+|
|title1 (readmore)|
|
|title2 (readmore)|
|
|title3 (readmore)|
......
+------------------------+
我想要的只是:我读了一个"title"
然后我点击了(readmore)
,新页面将打开(显示详细信息通知),其中包含该通知的“内容”。如何在不显示通知的情况下分配num
通知以在下一页中定义通知?
我只是将标题分配给Label ID="TITLE"
的属性文本,因为我想显示每个通知的标题。
我要在此页面中显示的所有信息均为:title
和readmore
(链接到下一页)。所以我不知道如何分配num
我的asp页面:notice.asp
<asp:Repeater ID="RepDetails" runat="server" >
<HeaderTemplate>
<table style=" width:565px" cellpadding="0" class="borber">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="Title" runat="server" Text='<%#Eval("TITLE") %>' />
</td>
<td>
<asp:HyperLink ID="HyperLink1" runat="server" > (readmord)</asp:HyperLink>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
我的C#代码:notice.asp.cs
private void BindRepeaterData()
{
string sql = "select num,title from NOTICE";
DataTable ds = l.EXECUTEQUERYSQL(sql);
RepDetails.DataSource = ds;
RepDetails.DataBind();
}
下一页:detailnotice.asp.cs
private void GetNotice()
{
string sql = "select * from NOTICE where num=" ;// num= the num of notice I choose in notice.asp page.
}
如何在不显示标签的情况下分配数字? Label Control或我应该使用其他Control的哪些属性?
希望你明白我说的话。如果你不这样做,请问?
答案 0 :(得分:3)
与Sain基本相同,但使用NavigateURL
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("NUM","~/detailpage.aspx?id={0}") %>' > (readmord)</asp:HyperLink>
答案 1 :(得分:2)
嗨,您可以使用锚标记代替超链接按钮。您可以将查询字符串中的num传递给详细信息页面。
<a href='detailpage.aspx?id=<%#Eval("NUM") %>'> (readmord)</a>
在详细信息页面上,您可以获取查询字符串值并从数据库中获取详细信息。
int myKey = 0;
if (!string.IsNullOrEmpty(Request.QueryString["id"]))
{
myKey = int.Parse(Request.QueryString["id"]);
// Use myKey to retrieve record from database
}