【问题标题】:Link to a New .aspx Page from Selected Database Entry by User从用户选择的数据库条目链接到新的 .aspx 页面
【发布时间】:2013-09-29 23:54:53
【问题描述】:

我正在使用 ASP.NET 中的 C# 开发一个网站,并且有一个页面包含一个网格视图,该视图显示我的数据库中一个表的内容。这些字段是通用的,如名称、描述、评级等。我的问题是如何做到这一点,以便在单击其中一个条目时,它链接到一个新的 .aspx 页面,该页面的所有信息都以一种很好的格式显示?我正在谈论的一个例子可以在http://www.imdb.com/chart/top?ref_=nv_ch_250_4 找到。

根据我的研究,我几乎没有找到答案,可能是因为我无法正确地提出这个问题。我假设您不打算为每个新条目物理创建一个新页面,因为如果您有很多数据库条目进入,那可能会变得很疯狂。是否应该创建一个页面来根据传递的特定值自动填充所需字段从选定的数据库条目中,或者当用户将新条目插入我的数据库时,我是否还应该创建一个新的 .aspx 页面?这个问题困扰了我很长一段时间,所以我很感激你能提供的任何方向!

【问题讨论】:

  • 您还可以打开新的弹出窗口来填充行的详细信息。您可以通过添加链接栏来实现这一点,点击它就可以打开包含内容的页面。
  • 在示例中,它们都以不同的查询字符串值登陆同一页面。 url重写用于用户友好的url。

标签: asp.net database visual-studio-2010 web


【解决方案1】:

为网格的所有行创建一个简单的超链接,超链接的 url 应该包含对该项目的引用,例如 ID 或名称。单击链接时,您将 id 传递到查询字符串中的第二页。在第二页中读取 id(request.querystring) 并相应地显示详细信息。 > 制作超链接:这是一种方法。在网格中添加 itemtemplate 列。

          <Columns>
             <asp:TemplateField >
                 <ItemTemplate>
                       <a href="products.aspx?ID=<%# Eval("ID") %>"> View Details </a>
                 </ItemTemplate>
             </asp:TemplateField>
          </Columns>

【讨论】:

  • 嘿 Kiran,从 SEO 的角度来看,建议的方法并不好。我也在寻找方法,类似于 WordPress,他们如何为每个帖子创建独特的页面。
【解决方案2】:

布赖恩,

您将只有一个新页面来处理该表中的所有条目。您需要创建此页面,以便它从 URL 读取查询字符串,例如使用与网格中的一条记录相对应的 id。在您的网格中,为每条记录构建一个带有适当 id 的链接,当您新创建的页面通过 URL 接收它时,它可以在数据库中查找该记录并填充新页面。

例如,您的网格的某一行中的链接可能如下所示:

/NewPage.aspx?id=123

然后,在您创建的新页面 (NewPage.aspx) 中获取传递的 id 并相应地填充页面。例如:

字符串 id = Request.QueryString["id"];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-10
    • 1970-01-01
    相关资源
    最近更新 更多