如何连接来自数据库和 URL 的 ID?
这是我的代码。我有一个错误“服务器标签格式不正确。”
NavigateUrl="javascript:void(window.open('ChangeHistory.aspx?ID="<%# DataBinder.Eval(Container.DataItem, "id")%>" ','_blank','height=600','width=600') );"
如何连接来自数据库和 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
inwindow.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 作为参数......
尝试这个。我改变了这个
<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>