【问题标题】:Including parameter value with ampersand in Telerik href URL在 Telerik href URL 中包含带 & 符号的参数值
【发布时间】:2015-03-05 16:04:29
【问题描述】:

我在尝试使用a href 创建 URL 时遇到帐户代码中的符号问题,如下所示。在我看来,我正在尝试使用 Telerik 网格将 id 传递给我的控制器。

.Template(x => Html.ActionLink("Month Ends", "MonthEndDates", new { id = x.Account, group = x.Group }))
       .ClientTemplate("<a href=\"MonthEndDates?id=<#= Account #>&group=<#= Group #>\">" + "Month Ends" + "</a>")    

当我有像APPLA&amp;D 这样的帐户代码时会出现问题:id 以APPLA 传递(缺少&amp;D)。

如何解决这个问题? 我假设您不能在 a href 中执行此操作,因为 &amp; 不能是 URL 中的值?

【问题讨论】:

  • 我认为您可能遇到了 HTML 的限制,因为它使用与符号 &amp; 对参数进行分组。您应该将数据库中的帐户代码限制为合法值。
  • 在将其呈现为 HTML 之前,尝试在帐户名称上使用 .Replace("&", "&")(c# 函数)
  • 想知道是否可以进行 if 语句和字符串比较?

标签: c# html asp.net-mvc url radgrid


【解决方案1】:

对 URL 参数进行编码。未经测试(因为这些天我没有 Telerik):

.Template(x => Html.ActionLink("Month Ends", "MonthEndDates", new {
            id = Net.WebUtility.UrlEncode(x.Account),
            group = x.Group
        }))
    .ClientTemplate("<a href=\"MonthEndDates?id=<#= id #>&group=<#= group #>\">" + "Month Ends" + "</a>")

这假定 ClientTemplate 正在替换匿名对象的 idgroup 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多