asp:HyperLink不通过查询字符串传递

时间:2014-11-23 17:01:27

标签: asp.net webforms

我正在使用asp:HyperLink,因为它让我能够在新标签页面中打开链接页面。 我对这个控件面临的一个问题是,由于我需要传递的信息是保密的,我不想做类似的事情:

    <asp:HyperLink ID="LinkButton2" runat="server" Target="_blank" NavigateUrl= '<%# String.Format("SPage.aspx?val={0}", Eval("Uid")) %>'>View/Print</asp:HyperLink>

换句话说,我不想传递信息,以便用户可以查看。有没有其他办法解决这个问题。是否有任何其他控件可以轻松打开另一个页面上的链接,但让我能够在没有查询字符串的情况下传递信息(因为这将是可见的)。我主要担心的是我在查询字符串中传递机密信息,因此不希望用户查看它。

1 个答案:

答案 0 :(得分:1)

可以做什么:

从服务器端:

LinkButton2.NavigateUrl="~/SPage.aspx?uid=" +Uri.EscapeDataString(Utils.Encrypt(Uid)); //Utils.encrypt is your encryption function

用户会看到它,但他们不会理解它。

稍后,在您的页面上:

var myValue = Utils.Descrypt(Uri.UnescapeDataString(request["uid"]));