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