vyclarks
vyclarks

Reputation: 878

NavigateUrl on Repeater ASP.net

I have a table in DB:

NOTICE(NUM,TITLE,CONTENT)

I use Repeater Control in ASP to show all the notices in DB, like:

+----------+------------+|
|title1        (readmore)|
|
|title2        (readmore)|
|
|title3        (readmore)|
......
+------------------------+

All I want is: I read a "title" then I clicked on (readmore), the new page will be opened ( show detail's notice) with the "content" of that notice. How can I assign the num of notice without display it to define the notice in next page?

I just assign the title to property Text of a Label ID="TITLE" because I want to show the title of each notice.

All information I want to show in the this page is: title and the readmore( link to the next page). So that I don't know how to assign the num

My asp page: 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> 

My C# code:notice.asp.cs

 private void BindRepeaterData()
    {
        string sql = "select num,title from NOTICE";
        DataTable ds = l.EXECUTEQUERYSQL(sql);
        RepDetails.DataSource = ds;
        RepDetails.DataBind();

    }

And the next page: detailnotice.asp.cs

private void GetNotice()
    {
        string sql = "select * from NOTICE where num=" ;// num= the num of notice I choose in notice.asp page.
    }

How can I assign a num in Label without display it? What property of Label Control or I should use a other Control ?

Hope you understand what I say. If you don't, please ask?

Upvotes: 4

Views: 4118

Answers (2)

Sain Pradeep
Sain Pradeep

Reputation: 3125

hi you can ues anchor tag in place of hyper link button. you can pass num in the query string to the detail page.

<a href='detailpage.aspx?id=<%#Eval("NUM") %>'> (readmord)</a>

On details page you can get query string value and fetch details from database.

   int myKey = 0;
    if (!string.IsNullOrEmpty(Request.QueryString["id"]))
    {
        myKey = int.Parse(Request.QueryString["id"]);
        // Use myKey to retrieve record from database
    }

Upvotes: 2

Hans Derks
Hans Derks

Reputation: 1027

Basically the same as Sain but using the NavigateURL

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("NUM","~/detailpage.aspx?id={0}") %>' > (readmord)</asp:HyperLink>

Upvotes: 3

Related Questions