窗口.打开

window.open

本文关键字:打开 窗口      更新时间:2023-09-26

如何连接数据库和URL中的ID?

这是我的代码。我有一个错误"服务器标签格式不正确"。

NavigateUrl="javascript:void(window.open('ChangeHistory.aspx?ID="<%# DataBinder.Eval(Container.DataItem, "id")%>" ','_blank','height=600','width=600') );"

我认为这就是你需要的:

NavigateUrl="javascript:void(window.open('ChangeHistory.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "id")%>','_blank','height=600','width=600') );"

也就是说,删除<%之前的">%之后的。

您应该尝试从服务器端代码添加NavigateUrl属性...这将非常容易,并且还可以将您的ID包含在window.open方法中。

如果它在某些Grid/Repeater/Datalist则使用 DataBound 属性,否则使用 Page_Load 事件为其添加属性......

Foocontrol.NavigateUrl=@"javascript:void(window.open
     ('ChangeHistory.aspx? ID='"+YourID+"','_blank','height=600','width=600') )";

编辑

protected void yourGrid_RowDataBound(object sender, GridViewRowEventArgs e)
{
  if (e.Row.RowType == DataControlRowType.DataRow)
   {
     HyperLink hlnkViewHistory = (HyperLink)e.Row.FindControl("hlnkViewHistory");
     hlnkViewHistory.NavigateUrl==@"javascript:void(window.open
     ('ChangeHistory.aspx? ID='"+YourID+"','_blank','height=600','width=600') )";
   }
 }

您的ID - 添加您的 ID 作为参数发送的任何内容。

试试这个。我已经改变了这个

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# String.Format("ChangeHistory.aspx?id={0}", Eval("id")) %>' onclick="javascript:w= window.open(this.href,'DownloadImage','left=20,top=20,width=500,height=500,toolbar=0,resizable=0');return false;">Open</asp:HyperLink>