c# - 如何在控制标签内包含条件语句?

标签 c# asp.net html hyperlink repeater

我在Repeater 中有一个Hyperlink。我想要的是将 NavigateUrl 设置为页面 Url 并将查询字符串添加到末尾。我想出了:

<asp:Hyperlink ID="myLink" runat="server" Text="My Link" 
    NavigateUrl='<%# Request.Url + "?Id= + Eval("Id") %>' />

这很好用。问题是我想知道如何添加一些逻辑,以便如果 Request.Url 已经包含查询字符串,则不添加 id 查询字符串部分。

如何在 html 页面中执行此操作?请记住,我不能使用 javascript 来实现此目的。

最佳答案

您必须检查两件事才能正确构建导航网址:

  1. 网址是否包含Id参数?
  2. 该网址是否已包含任何参数?

使用以下内容:

<asp:Hyperlink ID="myLink" runat="server" Text="My Link"     
    NavigateUrl='<%# Request.QueryString["Id"] == null ? 
    (Request.Url.Contains("?") ? Request.Url + "&Id= + Eval("Id") : 
    Request.Url + "?Id= + Eval("Id")) : Request.Url  %>' />

关于c# - 如何在控制标签内包含条件语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6235959/

相关文章:

c# - 触发器返回一个结果集和/或在 SET NOCOUNT OFF 的情况下运行,而另一个未完成的结果集处于事件状态

c# n-ary树的深拷贝

c# - 如何正确地将字符串从 Unity 编码到 C/C++?

c# - 使用itextsharp xmlworker将html转pdf并竖写文字

javascript - 在 IE9 和 IE8 中禁用按钮后,按钮事件不会触发

c# - 你如何在 c# 代码后面的通用控件 (div) 上设置 innerhtml?

asp.net - REST 动词 - 约定为 "correct"

javascript - JS HTML : Get particular column value after button click

javascript - 学习 Javascript - 监听两种选择的 onclick 事件的简单方法?

html - 使用 CSS 定位所有其他嵌套列表