gpt4 book ai didi

c# - 按下 gridview 上的编辑按钮时如何打开另一个页面?

转载 作者:行者123 更新时间:2023-11-30 22:42:06 25 4
gpt4 key购买 nike

我在使用 C# 的 asp.net 中有一个 Gridview 控件。

在我的应用程序中,当我从 Gridview 按下编辑按钮时,我需要在另一个窗口中打开信息。此时我使用 'Response.Redirect("..")' 但它在同一个窗口中打开。

我试过:

 protected void OutputGridView_RowEditing(object sender, GridViewEditEventArgs e)
{
outputGridView.EditIndex = e.NewEditIndex;
GridViewRow row = outputGridView.Rows[outputGridView.EditIndex];

string url = "http://localhost/MyPage.aspx";
Response.Write("<script>");
Response.Write("window.open('" + url + "')");
Response.Write("<" + "/script>")

e.Cancel = true;
}

但没有运气。

执行此操作的最佳方法是什么?

最佳答案

试试这个

protected void OutputGridView_RowEditing(object sender, GridViewEditEventArgs e)
{
try
{
outputGridView.EditIndex = e.NewEditIndex;
GridViewRow row = outputGridView.Rows[outputGridView.EditIndex];

string url = "http://localhost/MyPage.aspx";
StringBuilder sb = new StringBuilder();
sb.AppendLine("<script type='text/javascript'>");
sb.AppendLine("window.open('" + url + "')");
sb.AppendLine("<" + "/script>");
ClientScript.RegisterStartupScript(this.GetType(), "myjs", sb.ToString(), false);
//or if the gridview is inside an updatepanel do the code given below
//ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "myjs", sb.ToString(), false);
}
catch (System.Threading.ThreadAbortException)
{
throw;
}
catch (Exception err)
{
//handle error here
//Elmah.ErrorSignal.FromCurrentContext().Raise(err);
}
}

正如我在上面的代码中所评论的那样,如果您正在使用 ScriptManager,请取消注释并使用它

ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanel1.GetType(), "myjs", sb.ToString(), false);

我已经测试过它及其工作。

关于c# - 按下 gridview 上的编辑按钮时如何打开另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4592542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com