我需要在我的网络应用程序中加密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}" />
单击超链接后,将打开链接并加密网址。但是,如果我将鼠标悬停在超链接上,我可以在查询字符串中看到没有加密的数据。当鼠标悬停在超链接上时,有没有想过如何加密查询字符串?。
感谢。
答案 0 :(得分:0)
这可能是因为HyperLinkField
正在使用未加密的参数生成<a>
标记,以及与未加密的版本匹配的“标题”属性。然后你的模块启动(在生成html之后)并更改href
属性,但保留title
属性。
尝试显式设置title
属性,如果这不起作用,您可能需要继承HyperLinkField
类以覆盖该功能。
您可以检查生成的网页来源以验证这一点。