Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 按钮打开新窗口_Asp.net_Vb.net_Gridview - Fatal编程技术网

Asp.net 按钮打开新窗口

Asp.net 按钮打开新窗口,asp.net,vb.net,gridview,Asp.net,Vb.net,Gridview,我在gridview中有一个按钮。我试图使用此按钮打开新窗口,但收到错误消息 错误:Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器接收的消息。此错误的常见原因是当通过调用response.Write()修改响应、启用响应筛选器、HttpModules或服务器跟踪时。 详细信息:在“window.open(”附近分析时出错 ASP代码 <asp:TemplateField HeaderText="" Visible="

我在gridview中有一个按钮。我试图使用此按钮打开新窗口,但收到错误消息

错误:Sys.WebForms.PageRequestManagerParserErrorException:无法分析从服务器接收的消息。此错误的常见原因是当通过调用response.Write()修改响应、启用响应筛选器、HttpModules或服务器跟踪时。 详细信息:在“window.open(”附近分析时出错

ASP代码

<asp:TemplateField HeaderText="" Visible="true">
    <ItemTemplate>
            <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Images/picture.jpg" 
            Height="20px" Width="20px" 
            CommandName="OpenGroupTrend"/>
    </ItemTemplate>
</asp:TemplateField>

VB代码

Protected Sub GV_SL_RowCommand(ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
    If (e.CommandName = "OpenGroupTrend") Then
        Dim GroupTrendLink = "http://NewPage.aspx"
        Response.Write("<script>")
        Response.Write("window.open('" & GroupTrendLink & "','_blank')")
        Response.Write("</script>")
    End If
End Sub
Protected Sub GV_SL_row命令(ByVal发送方作为对象_
ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)
如果(e.CommandName=“OpenGroupTrend”),则
Dim GroupTrendLink=”http://NewPage.aspx"
回答。写(“”)
Response.Write(“window.open”(“&GroupTrendLink&“,”u blank'))
回答。写(“”)
如果结束
端接头
如果我在GridView外部使用相同的代码,它就可以正常工作

我做错了什么


谢谢

您不应该回复。这样写脚本。使用脚本管理器并从那里注册脚本

更好的是,完全放弃发回,改用html链接

<a href="javascript: window.open('[url]','_blank')">
    <img src="Images/picture.jpg" />
<a> 

我已经通过scriptmanager解决了这个问题。感谢nickles80的提示。如果有帮助,请参阅下面的代码。我还添加了将值传输到新窗口的代码

If (e.CommandName = "OpenGroupTrend") Then

 Dim G = e.CommandArgument.ToString
 Dim D = DateInt.Value
 Dim GroupTrendLink = "http://NewPage.aspx?D=" & D & "&G=" & G

 ScriptManager.RegisterStartupScript(Me, Me.GetType, "key", "open('" + GroupTrendLink + "');", True)

End If
在“Newpage.aspx”中,我使用以下代码捕获值

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Not IsPostBack Then
        Dim DateTrans As Integer
        DateTrans = Request.QueryString("D")
        Label1.Text = DateTrans.ToString

        Dim GroupTrans As Integer
        GroupTrans = Request.QueryString("G")
        Label2.Text = GroupTrans.ToString
    End If
End Sub

当我按照您的建议使用html链接时,新窗口会正常打开,但主机窗口变为空白,顶部显示“[object]”。此外,我必须将值传输到新窗口,我不确定如何使用javascript代码实现这一点。