我有一个gridview,它有8个单元格。双击文本框时,一个单元格有一个文本框,将打开一个弹出窗口。如何将弹出值传递给第二个gridview?请给我解决方案。
答案 0 :(得分:0)
HTML标记 在下面的HTML标记中,有一个Asp.Net GridView控件,其中有一个Button来选择行。另外我添加了一个Button,它会在点击时将Asp.Net GridView Selected Row发送到另一个页面。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" Font-Names="Arial"
Font-Size="10pt">
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="CustomerID" HeaderText="CustomerID" />
<asp:BoundField ItemStyle-Width="150px" DataField="City" HeaderText="City" />
<asp:BoundField ItemStyle-Width="150px" DataField="PostalCode" HeaderText="PostalCode" />
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnSelect" runat="server" Text="Select" CommandName = "Select" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="btnSend" runat="server" Text="Send Selected Row" OnClick = "Send" />
将所选行传递到另一页 单击发送按钮时,它首先检查GridView行是否具有选定行。如果GridView有一个Selected Row,它会执行Server.Transfer到Page2.aspx。我正在使用Server.Transfer而不是Response.Redirect,因为使用Server.Transfer我们可以引用上一页及其控件。如果用户没有在ASP.Net GridView中选择任何行,我们要求他使用JavaScript警报选择一行。 最后在Page2.aspx上显示来自ASP.Net GridView的Selected Row单元格的数据。
C#
protected void Send(object sender, EventArgs e)
{
if (GridView1.SelectedRow != null)
{
Server.Transfer("~/Page2.aspx");
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Please select a row.')", true);
}
}
现在在Page2.aspx上我们以下列方式获取ASP.Net GridView SelectedRow
C#
protected void Page_Load(object sender, EventArgs e)
{
if (this.Page.PreviousPage != null)
{
GridView GridView1 = (GridView)this.Page.PreviousPage.FindControl("GridView1");
GridViewRow selectedRow = GridView1.SelectedRow;
Response.Write("CustomerId: " + selectedRow.Cells[0].Text + "<br />");
Response.Write("City: " + selectedRow.Cells[1].Text + "<br />");
Response.Write("PostalCode: " + selectedRow.Cells[2].Text);
}
}