1

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

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

4

2 回答 2

0

布莱恩,

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

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

/NewPage.aspx?id=123

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

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

于 2013-09-24T16:48:12.850 回答
0

为网格的所有行创建一个简单的超链接,超链接的 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>
于 2013-09-24T16:48:46.517 回答