很快,我有一个Telerik RadGrid,允许用户在编辑模式下将文件上传到特定的共享服务器文件夹位置。用户想要一种方法来选择网格上的按钮并打开特定文件夹以显示该唯一行的所有附件。我能够在弹出编辑表单上成功使用asp超链接控件,以显示文件夹中的所有附件。
我尝试在RadGrid本身上添加GridHyperlinkColumn和GridTemplateColumn,并将导航URL设置为我在后面的代码中所做的操作,但是我得到了404错误。这与我写文件夹地址的方式有关吗?
选项1
<Telerik:GridTemplateColumn UniqueName="hyperlink">
<ItemTemplate>
<asp:HyperLink ID="hypDirLink" runat="server" Target="_self"
NavigateUrl='<%# String.Format("\\server-name\data$\CADLog\{0}, Eval("CAD_ID")) %>'>
<img src="../Images/Files-icon.png" alt="Open Folder" />
</asp:HyperLink>
</ItemTemplate>
</Telerik:GridTemplateColumn>
选项2
<Telerik:GridHyperLinkColumn DataTextField="CAD_ID" UniqueName="hyperLinkColumn"
DataNavigateUrlFields="CAD_ID" ImageUrl="~/Images/Files-icon.png" Target="_self"
DataNavigateUrlFormatString="~//server-name/data$/CADLog/{0}" />
选项3
我尝试了几种不同的格式化服务器文件夹位置的方法,例如:
~\\server-name\data$\CADLog\{0}
.\\server-name\data$\CADLog\{0}
~//server-name/data$/CADLog/{0}
.//server-name/data$/CADLog/{0}
\\server-name\data$\CADLog\{0} <-- this is the URL I get when I copy from Windows Explorer
//server-name/data$/CADLog/{0}
我有双重,三重,四重检查,该文件确实存在于服务器上,并且我在此共享服务器位置上设置了正确的权限。每当我点击链接时,它都会尝试在浏览器中打开导航URL,而不是打开Windows资源管理器。
我打开了Telerik支持的故障单试图解决这个问题,但是他们不知道我正在尝试用上述控件做什么,并且说如果它的建模方式相同,控件应该正常工作。
答案 0 :(得分:0)
要在共享服务器上打开文件夹位置,我只需要向GridHyperLinkColumn添加一个东西:
DataNavigateUrlFormatString="File://server-name/data$/CADLog/{0}"
这对我来说很完美,可以在服务器上运行。