带有查询字符串的超链接,并在asp.net Datagrid中的新窗口中打开

时间:2015-12-05 07:29:14

标签: javascript c# asp.net

首先,我搜索了Stack OverFlow上关于我的问题的所有线程。由于我没有找到任何预期的结果,所以我强迫自己发布这个问题。

我的问题是:我在datagrid中使用超链接并将数据字段作为查询字符串传递,我希望弹出窗口在URL中打开查询字符串,点击以下链接。

"\\East" will abort '\Q'

在上面的代码中,我收到错误"服务器标记执行得不好。"。任何人都可以请我提供准确的代码吗?

我尝试了另一种格式。在下面的代码中,我没有收到错误,但是当点击链接时,没有任何事情发生,例如链接无法点击。

<asp:HyperLink ID="lnkViewDoc" Text='View Document' NavigateUrl='<%# string.Format("javascript:window.open('ViewDoc.aspx?DocP={0}', 'MsgWindow','width=200,height=100')", Eval("vchDocPath")) %>' runat="server"></asp:HyperLink>

P.S:我已尝试过堆栈溢出和其他网站的许多其他格式,但没有运气。

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是一个示例html按钮,它将参数传递给javascript函数..

<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server">
            <Columns>
              <asp:TemplateField>
                 <ItemTemplate>
                    <button onclick='<%# "ShowWindow(\"" + "ViewDoc.aspx?DocP=" + Eval("vchDocPath") + "\")" %>'>View Document</button>
                 </ItemTemplate>
              </asp:TemplateField>
            </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>    

<script type="text/javascript">

    function ShowWindow(e) {
        window.open(e, "mywindow", "toolbar=0,width=500,height=500");
    }

</script>