0

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

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

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

3 回答 3

0

认为这是你需要的:

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

也就是说,删除"之前的那个<%和之后的那个>%

于 2012-09-06T04:07:22.183 回答
0

您应该尝试NavigateUrl从服务器端代码添加属性...这将非常容易并且还包含您的IDinwindow.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') )";
   }
 }

YourID - 添加您想要发送的任何 ID 作为参数......

于 2012-09-06T04:46:25.767 回答
0

尝试这个。我改变了这个

<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>
于 2012-09-06T05:42:30.493 回答