0

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

知道在这种情况下如何进行吗?

4

1 回答 1

0

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

于 2013-08-12T18:07:38.403 回答