GridView和HyperLinkColumn的问题

时间:2013-08-12 17:43:18

标签: asp.net

使用控件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中包含的路径。

知道如何处理这种情况吗?

1 个答案:

答案 0 :(得分:0)

DataNavigateUrlFormatString属性为您提供了一种格式化网址的方法,如果您拥有的唯一数据是像这样的“〜\ details.aspx?ProductID = {0}”。如果将其保留为空,则会打印绑定到DataNavigateUrlFields属性的值。请查看此链接以获取更多帮助MSDN