【问题标题】:javascript - window.openjavascript-window.open
【发布时间】:2012-09-06 04:04:57
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript asp.net vb.net


    【解决方案1】:

    认为这就是你需要的:

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

    也就是说,删除&lt;% 之前的"&gt;% 之后的&gt;%

    【讨论】:

    • 尝试&lt;%=&lt;%$ 而不是&lt;%#(除了我在回答中所说的)。
    【解决方案2】:

    您应该尝试从服务器端代码中添加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') )";
       }
     }
    

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

    【讨论】:

    • 这是我的代码。它是数据网格中的一列。 + ','_blank','height=600','width=600') )" >
    • 为什么不添加RowDataBound网格事件的Navigateurl属性...这对您来说会容易得多..
    • datagrid中没有RowDataBound事件
    • Gridview 有一个事件RowDataBound,可能你还没有使用过……请参阅此处的数据网格事件。 msdn.microsoft.com/en-us/library/…
    【解决方案3】:

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

    <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>
    

    【讨论】:

    • 还有其他方法吗?不调用函数?
    • 我正在使用这个.. 仍然现在没有检查替代方案。为什么?有什么问题吗?
    • 嘿,我改了。请立即尝试。
    猜你喜欢
    • 2015-08-20
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 2013-10-02
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多