使用控件DataGrid时,我可以完美地使用这种类型的列:
<asp:HyperLinkColumn DataNavigateUrlField="url_doc" DataTextField="des_doc" HeaderText="Document">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:HyperLinkColumn>
其中“url_doc”来自存储过程,其值为:
selet '../Documentos/'
|| res.cod_op
|| '/'
|| tdo.des_tipo_doc
|| '/'
|| '01'
|| '/'
|| res.file_name as URL_DOC
from MyTable
URL_DOC存储文档文件的路径,该文件包含在我的asp.net项目的子文件夹中。当我点击HyperLinkColumn时,我可以打开该文档文件。
现在,如果我尝试使用GridView,我找不到任何与HyperLinkColumn一样好的列。使用GridView时,我尝试使用HyperLinkField,如:
<asp:HyperLinkField
DataNavigateUrlFields="url_doc"
DataTextField="des_doc"
DataNavigateUrlFormatString="url_doc" />
但是,当我点击HyperLinkField时,程序会尝试打开名为“url_doc”的文件,而不是变量url_doc中包含的路径。
知道如何处理这种情况吗?
答案 0 :(得分:0)
DataNavigateUrlFormatString属性为您提供了一种格式化网址的方法,如果您拥有的唯一数据是像这样的“〜\ details.aspx?ProductID = {0}”。如果将其保留为空,则会打印绑定到DataNavigateUrlFields属性的值。请查看此链接以获取更多帮助MSDN。