在gridview中加密超链接字段

时间:2012-01-26 20:08:57

标签: asp.net

我需要在我的网络应用程序中加密Url。我按照Mads Kristensen的(http://madskristensen.net/post/HttpModule-for-query-string-encryption.aspx)文章加密了Urls。它工作得很好。但是,我在gridview中有超链接字段,我使用datanavigateurlformatstring和datanavigateurlfields属性来创建查询字符串,例如

  <asp:HyperLinkField Text="Edit" datanavigateurlfields="DocumentId"
            datanavigateurlformatstring="~\admin\edit_document.aspx?DocumentId={0}"  />

单击超链接后,将打开链接并加密网址。但是,如果我将鼠标悬停在超链接上,我可以在查询字符串中看到没有加密的数据。当鼠标悬停在超链接上时,有没有想过如何加密查询字符串?。

感谢。

1 个答案:

答案 0 :(得分:0)

这可能是因为HyperLinkField正在使用未加密的参数生成<a>标记,以及与未加密的版本匹配的“标题”属性。然后你的模块启动(在生成html之后)并更改href属性,但保留title属性。

尝试显式设置title属性,如果这不起作用,您可能需要继承HyperLinkField类以覆盖该功能。

您可以检查生成的网页来源以验证这一点。