我有两个aspx页面。第一个包含所有船只的gridview列表,另一个包含许可证的申请表。一旦我在gridview列表中选择一行, 许可证申请按钮将会显示,点击此按钮后,会重定向到第二页,即申请表格。问题是我必须从gridview列表(第一个aspx页面)上的选定行获取容器的id并将其传输到第二个aspx页面。应将id与许可申请表中的其他数据一起插入许可申请表中。
答案 0 :(得分:0)
听起来这是你的情况,粗略地说:你有aspx
页A
和B
。您的用户在A
上输入B
所需的内容以呈现其他内容。对我来说,你在B
上呈现一个表是无关紧要的;如果您可以简单地将从A
输入的值回显到B
,您就会知道该怎么做。所以我将忽略数据表的内容。
您可以使用会话变量将此值从A
传输到B
,但您可能不应该这样做。有一些很好的理由不这样做;对于初学者来说,会话变量会持久存储在内存中,因此需要进行管理。
如果您坚持使用会话变量,您可以通过将文本框的值存储到您选择的会话变量中来处理A
上的提交事件:
Public Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Session("my_session_variable_name") = myTextBox.Text
End Sub
然后在B
中,在适当的生命周期事件中(例如,在加载时),您将读取会话变量并生成表或您要完成的任何事情:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Session("my_session_variable_name") <> "" Then
id = Session("my_session_variable_name")
End If
但是我会强烈反对你这样做。相反,请尝试将B
页面置于查询字符串参数或POST
ed正文成员中,并使用Request.QueryString[]
或Request.Form[]
进行阅读。
答案 1 :(得分:0)
您应该使用Button的CommandName和CommandArgument属性。
<asp:Button runat="server" ID="btn" CommandName="Permit" CommandArgument="6" />
但是CommandArgument必须绑定gridview的OnRowDataBound事件。因此,当您单击时,将检查命令名称并获取命令参数值,并将其传递给许可表单。