Перенос страницы сведений о статьях

#asp.net

#asp.net

Вопрос:

У меня есть статьи, хранящиеся в базе данных. Я хочу нажать на заголовок и открыть соответствующую статью на другой странице мобильного сайта jQuery. Моим алогоритом мышления было следующее:

  1. Найдите ИДЕНТИФИКАТОР статьи

  2. Передайте идентификатор на страницу #news-article

  3. Отобразить статью, у заголовка и тела которой один и тот же идентификатор

Я должен также отметить, что я использую повторитель для отображения моей статьи на странице:

     <!--list article headings and date-->
    <ul data-role="listview" data-inset="true">
<asp:Repeater ID="Repeater2" runat="server" DataSourceID="SqlDataSource1">
     <ItemTemplate>
    <li>
    <a href="#news-body.aspx?id=<%# Eval("ID") %>">
    <h3><%# Eval("Heading")%></h3>
    <p><%# Eval("Date")%></p>
    </a>
    </li>
     </ItemTemplate>
</asp:Repeater>
</ul>



 <!--the details (article body) page showing-->
    <script runat="server">
Partial Class page2
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Label1.Text = Request.QueryString["ID"].ToString()
    End Sub
End Class
</script>
<asp:Label runat="server" ID="Label1"></asp:Label>
  

Я немного застрял здесь и ищу несколько руководств, потому что я новичок в ASP и .NET. Я пока не совсем уверен, как вообще называется эта концепция, чтобы получить хорошие результаты поиска. Я был бы признателен за любую помощь, которую вы, возможно, сможете предложить. Заранее благодарю вас за ваше время и помощь.

Комментарии:

1. Как только я начинаю кодировать свою страницу2, я получаю ошибки. Удаление кода на странице 2 позволяет мне видеть заголовки на странице 1; однако при загрузке страницы появляется ошибка (как и следовало ожидать). Находится ли мой скрипт вообще в правильном месте для страницы 2? Это обязательно должно быть в <head>? Я создаю это в jQuery Mobile с навигацией с использованием ajax, поэтому я связываю страницы с помощью #anchors…

Ответ №1:

Попробуйте эту небольшую настройку при создании вашего <a> тега? Просто вам нужно связать свой идентификатор со строкой вашего URL.

 <ItemTemplate>
    <li>
         <a href='<%#"news-body.aspx?id=" Eval("ID") %>'>
            <h3><%# Eval("Heading")%></h3>
            <p><%# Eval("Date")%></p>
         </a>
    </li> 
 </ItemTemplate>
  

Комментарии:

1. Я попытался настроить тег <a>; но, к сожалению, это не исправило ни одной ошибки. Я получаю сообщение об ошибке следующего содержания: «Lable1. Текст = Запрос. Строка запроса[«ID»]. toString() требует ссылки на объект.» Я не совсем понимаю, что это значит…

2. Не уверен, что это имеет здесь большое значение, но я использую VB, а не C#

3. Поцарапал всю эту концепцию и получил передачу моего идентификатора. Просто застрял с данными, которые не отображаются на странице сведений… Следил за этим руководством, если интересно: msdn.microsoft.com/en-us/library/bb530323.aspx

Ответ №2:

Наконец-то у меня получилось. Похоже, мне нужно было немного отвлечься от программирования, чтобы перегруппировать зрение. Из-за мелких деталей в источнике данных мне было трудно найти, ГДЕ идентификатор идентифицируется и передается. Спасибо всем за вашу помощь.