【问题标题】:HyperLink with NavigateUrl with Eval(). Where is the mistake?带有 NavigateUrl 和 Eval() 的超链接。错误在哪里?
【发布时间】:2010-12-19 06:22:41
【问题描述】:

首先我在Page_Load() 的代码隐藏中更改HyperLink.NavigateUrl

但是在我决定使用Eval() 方法进行设计之后。

<asp:HyperLink runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Eval("type"), Eval("id")) %>' Text="Refuse" />

<asp:HyperLink ID="urlRefuse" runat="server"
     NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />

其中idtype - 是来自Request 的变量。

但它不起作用。仅显示原始文本“拒绝”。我的错误在哪里?提前致谢。

【问题讨论】:

  • 嘿,看看这个如果有帮助http://forums.asp.net/p/1490115/3505218.aspx
  • 谢谢!我正在使用帖子 #2 中的方法,但它不起作用。我想弄清楚我错在哪里..
  • 您的超链接的 ID 属性丢失...是否会导致我不知道的错误...
  • @Pandiya:听起来很神秘,同时又很现实。但不幸的是没有帮助。
  • NavigateUrl=''

标签: c# .net asp.net eval code-behind


【解决方案1】:

这很好用

NavigateUrl='<%# Eval("type","~/Refuse.aspx?type={0}") %>'

【讨论】:

  • 我几年前就停止使用网络表单了,但几年后我才发现这样的东西太容易了。
【解决方案2】:

这对我有用

NavigateUrl='<%# String.Format("{0}.aspx?ID={1}", DataBinder.Eval(Container.DataItem, "Category"), DataBinder.Eval(Container.DataItem, "Post_ID")) %>'

【讨论】:

    【解决方案3】:

    尝试在您的浏览器中查看源代码,在您的 href 中向客户端呈现什么?是你所期望的吗?如果您尝试使用无法使用 Eval 的请求集合中的变量,则需要使用请求查询字符串参数。

    <asp:HyperLink runat="server"
         NavigateUrl='<%# String.Format("~/Refuse.aspx?type={0}&id={1}", Request["type"], Request["id"]) %>' Text="Refuse" />
    

    【讨论】:

    • 下一个正在渲染:拒绝。谢谢小费。我用过。同样的结果..
    • 您是否尝试使用查询字符串中的值?您是否尝试使用 Request["id"] 而不是 Eval("id")?
    • 尝试将 Page.DataBind() 添加到您的 Page_Load。
    • 我自己试过了,效果很好。确保您的查询字符串参数中有有效数据。
    • @Phaedrus 他正在使用数据列表、网格视图或页面中的超链接
    【解决方案4】:

    试试这个:

    HttpUtility.UrlEncode(Eval("type")
    

    【讨论】:

      【解决方案5】:

      试试这个:

      <asp:HyperLink ID="HyperLink2" runat="server" onclick='<%# String.Format("AcceptUser({0},{1})",Eval("UserId"), Eval("TsId")) %>' NavigateUrl="javascript:void(0)" Visible='<%# (bool)Eval("CanDelete") %>'>Accept</asp:HyperLink>  
      

      【讨论】:

        【解决方案6】:

        试试这个它对我有用:

        Eval("type").ToString()
        

        【讨论】:

          猜你喜欢
          • 2016-09-15
          • 2011-03-30
          • 2012-06-14
          • 1970-01-01
          • 2015-07-30
          • 1970-01-01
          • 2016-09-20
          • 1970-01-01
          • 2011-09-09
          相关资源
          最近更新 更多