【问题标题】:Show/Hide hyperlink in datagrid based on ServerVariable基于ServerVariable的数据网格中显示/隐藏超链接
【发布时间】:2014-10-16 10:46:24
【问题描述】:

我在使用 .NET 2 的数据网格中有以下内容:

<asp:HyperLink runat="server" NavigateUrl='<%# "edit.aspx?f=" & DataBinder.Eval(Container.DataItem, "forum_id") & "&t=" & DataBinder.Eval(Container.DataItem, "thread_id") & "&p=" & DataBinder.Eval(Container.DataItem, "post_id") %>' Text="Edit" ID="Hyperlink1"></asp:HyperLink>

目前,这个链接出现在我多年前编写的一个简单论坛中的所有帖子(或数据网格行)中。

我可以通过以下代码检测到使用论坛的用户:

Request.ServerVariables("LOGON_USER")

如何根据servervariable 显示/隐藏每个帖子上的超链接?

如果我在特定页面中有 10 个帖子,其中 3 个帖子是用户 x 的,我如何仅在用户 x 查看该页面时仅在用户 x 创建的帖子上显示该超链接?

【问题讨论】:

  • 你确定 Request.ServerVariables("LOGON_USER") 是你需要的吗?来自 MSDN:LOGON_USER:用户在连接到您的 Web 服务器时模拟的 Windows 帐户。使用 REMOTE_USER、UNMAPPED_REMOTE_USER 或 AUTH_USER 查看请求标头中包含的原始用户名。唯一一次 LOGON_USER 持有与这些其他变量不同的值是如果您安装了身份验证过滤器。

标签: asp.net vb.net datagrid .net-2.0 request.servervariables


【解决方案1】:

尝试使用以下代码添加可见属性:

<asp:HyperLink visible='<%# Request.ServerVariables("LOGON_USER") == "x" %>' runat="server" NavigateUrl='<%# "edit.aspx?f=" & DataBinder.Eval(Container.DataItem, "forum_id") & "&t=" & DataBinder.Eval(Container.DataItem, "thread_id") & "&p=" & DataBinder.Eval(Container.DataItem, "post_id") %>' Text="Edit" ID="Hyperlink1"></asp:HyperLink>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    相关资源
    最近更新 更多