我有一个网格视图,它有8个单元格。一个单元格有一个文本框当双击文本框时,将打开一个弹出式窗口。如何将弹出的值传递给第二个gridview?请给我一个解决方案。
发布于 2013-10-30 14:07:27
在下面的HTML标记中,有一个带有按钮的Asp.Net GridView控件,用于选择行。此外,我还添加了一个按钮,该按钮将发送Asp.Net GridView选定的行时,点击另一个页面。
<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" />当单击send按钮时,将选中的行传给另一个页面,它首先检查GridView行是否有选中的行。如果GridView有一个选定的行,它会执行到Page2.aspx的Server.Transfer。我使用Server.Transfer而不是Response.Redirect,因为使用Server.Transfer我们可以引用上一个页面及其控件。如果用户没有选择ASP.Net GridView中的任何行,我们要求他使用JavaScript警报选择一行。最后,在Page2.aspx上,显示来自ASP.Net GridView的选定行的单元格的数据。
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);
}
}链接:http://www.aspsnippets.com/Articles/Pass-Selected-Row-of-ASPNet-GridView-control-to-another-Page.aspx
https://stackoverflow.com/questions/19673979
复制相似问题