我有这个密码。我有一个网格,其中的列有一个orderID,该ID带有一个超链接,该超链接调用一个名为getorderInfo的方法,该方法打开一个新页面,该页面带有一个订单信息网格。但我不需要新的一页。我需要它保持在同一页上,并有网格显示在底部。
我尝试了几个不同的东西,所有的结果要么是一个新的页面或弹出窗口。我试着在网上找这样的东西,但我没有运气。我能做的最好的就是一个新的页面,尽管我希望有一些明显的东西我错过了动态改变当前页面从一个网格到两个。
<rad:GridTemplateColumn DataField="OrderId" DataType="System.Int32" SortExpression="OrderId"
UniqueName="OrderId">
<ItemTemplate>
<!--- link--->
<asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# GetOrderInfo(Eval("OrderId")) %>'
Text='<%# Eval("OrderId") %>' />
</ItemTemplate>
</rad:GridTemplateColumn>
Protected Function GetOrderInfo(ByVal OrderId As Integer) As String
Return String.Format("javascript:editItem(""{0}"",""{1}"",""{2}"");", "OrderInfo.aspx", "OrderId", Server.HtmlEncode(OrderId))
End Function
1条答案
按热度按时间xwbd5t1u1#
为什么不考虑在网页上只使用两个简单的div区域呢?
因此,当用户单击GridView的一行时,您将隐藏GridView(和区域),然后沿着显示第二个网格区域以及一些详细信息。用户发现这种类型的UI很容易使用,而且编写这样的代码也很容易。
因此,对于本例,我们假设有一个酒店列表(在GridView中)。
我们要点击其中一家酒店,并在另一个GridView中显示预订该酒店的人。
所以,我们的第一个GridView(酒店列表)。
请注意带有runat=“server”的简单div。runat=server标记允许代码隐藏第一个GridView区域,并显示第二个GridView区域。在这种情况下,第二个网格将显示从第一个网格中选择的预订到酒店的人。因此,在上面的第一个div和网格区域下面,我们将第二个div区域与第二个GridView一起放入。这是:
让所有这些神奇工作的代码非常简单:
GridView上面的行按钮点击代码:
因此,上述结果导致了这种效果:
因此,这种相当简单的方法,即隐藏并显示顶部的第一个网格,然后在选择行时显示第二个网格区域,代码非常少。
最终的结果是一个主动的用户界面,一个只需要很少开发人员努力的界面。