gpt4 book ai didi

c# - 无法在 gridview 中打开超链接位置

转载 作者:行者123 更新时间:2023-11-28 02:28:08 24 4
gpt4 key购买 nike

我有一个包含字段的 GridView :

<asp:TemplateField HeaderText="View File">
<ItemTemplate >
<asp:HyperLink ID="LinkView" runat="server" Target="_blank"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:TemplateField>

在代码后面,(Gridview的RowBound)

Dim lnk As HyperLink = DirectCast(e.Row.FindControl("LinkView"), HyperLink) 
lnk.Attributes.Add("onclick", "OpenPdf('" + "file://" + fileName + "')")

例如。文件名:E:\MyFolder\F1\File_01_15_2013_000100.pdf和 JavaScript 函数:

function OpenPdf(path1) {
window.open(path1);
}

但是它不起作用。在 IE 中,我收到错误:访问被拒绝,在 Firefox 中:NS_ERROR_FAILURE:组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [nsIDOMJSWindow.open]

最佳答案

您将获得文件的物理路径,而不是必须提供文件的虚拟路径,例如

fileName = "http://yourdomain.com/files/a.pdf"

您需要将该文件放入网站目录结构中,以便通过您的域访问路径。假设您当前的页面位于根目录,pdf 文件位于文件夹中。如果不想将图像放在网站的虚拟目录中,那么您可以创建一个包含文件的新虚拟目录。

在您的网站内创建一个虚拟目录,并提供网站文件夹外部且包含图像的文件夹路径。现在,该文件夹将作为您网站的一部分运行,并且您不会收到错误消息。如何创建虚拟目录,MSDN

假设您有网站文件夹 d:\Yoursites\Testsite 并且您想要访问 d:\file\a.pdf 中的文件,请在 TestWebsite 中创建一个指向 d:\files 的虚拟目录,并通过虚拟访问其中的文件目录。

pdf 的 URL 类似于

http://yoursite.com/yourvirtualdirectoryname//a.pdf

关于c# - 无法在 gridview 中打开超链接位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14582411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com