2013-09-16 5 views
3

У меня есть таблица в БД:NavigateUrl на Repeater ASP.net

NOTICE(NUM,TITLE,CONTENT) 

я использую Repeater управления в ASP, чтобы показать все уведомления в БД, как:

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

Все, что я хочу : Я прочитал "title", затем я нажал на (readmore), новая страница будет открыта (уведомление о подробностях) с «содержанием» этого уведомления. Как я могу присвоить уведомление num без отображения его для определения уведомления на следующей странице?

Я просто присвою название собственности Текст Label ID="TITLE", потому что я хочу показать название каждого уведомления.

Вся информация, которую я хочу показать на этой странице: title и readmore (ссылка на следующую страницу). Так что я не знаю, как назначить Num

Моей страницы жереха: 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. 
    } 

Как я могу присвоить num в Label без отображения его? Какое свойство Label Control или я должен использовать другой элемент управления?

Надеюсь, вы понимаете, что я говорю. Если вы этого не сделаете, спросите?

ответ

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 
    } 
+0

спасибо вам, подробно странице, как я могу Получать идентификатор, я имею в виду синтаксис. Потому что я сделал это с помощью кода pHp, и я новичок в ASP.net –

+0

, пожалуйста, проверьте мой обновленный ответ. –

+0

большое спасибо! –

2

В основном же, как и Саина, но с использованием NavigateURL

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("NUM","~/detailpage.aspx?id={0}") %>' > (readmord)</asp:HyperLink> 
Смежные вопросы