我正在使用ASP.NET中的C#工作,并且有一个包含网格视图的页面,该网格视图显示了我数据库中某个表的内容。这些字段是通用的,如名称,描述,评级等。我的问题是你是如何做到这一点的,当点击其中一个条目时,它链接到一个新的.aspx页面,其所有信息都以漂亮的格式显示?我所谈论的一个例子可以在http://www.imdb.com/chart/top?ref_=nv_ch_250_4找到。
从我的研究中我发现答案的方式很少,可能是由于我无法正确提出这个问题。我假设您不要为每个新条目物理创建一个新页面,因为如果您有大量数据库条目,这可能会变得疯狂。是否应该创建一个页面,根据传递的特定值自动填充必填字段从选择的数据库条目,或当用户将新条目插入我的数据库时,我是否还应创建一个新的.aspx页面?这个问题让我停留了很长一段时间,所以我很感激你能提供的任何方向!
答案 0 :(得分:0)
布赖恩,
您只有一个新页面可以处理该表中的所有条目。您需要创建此页面,使其从URL读取查询字符串,例如,其ID与网格中的某个记录相对应。在您的网格中,使用适当的ID构建每个记录的链接,当您新创建的页面通过URL接收时,它可以在数据库中查找该记录并填充新页面。
例如,网格中某一行的链接可能如下所示:
/NewPage.aspx?id=123
然后,在您创建的新页面(NewPage.aspx)中获取传递的ID并相应地填充页面。例如:
string id = Request.QueryString [“id”];
答案 1 :(得分: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>