You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC中Syncfusion TreeGrid单元格超链接传递NoteID问题

EJ TreeGrid 实现带NoteID参数的超链接

需求

在EJ TreeGrid中添加超链接,需将NoteID字段值传入href属性。

现有代码

col.Field("NoteID")
    .HeaderText("View")
    .Width(80)
    .TextAlign(TextAlign.Right)
    .IsTemplateColumn(true)
    .Template("<a href='" + @Url.Action("GetNoteID", "Notes") + "/" + "/{NoteID}' target='_blank'>View Broker Note</a>")                     
    .Add();

问题

无法将NoteID的实际值正确填充到href中的{NoteID}位置。

已尝试的方案(未成功)

通过QueryCellInfo客户端事件实现,但未达到预期效果:

.ClientSideEvents(eve =>
{
    eve.QueryCellInfo("querycellinfo");
})
function querycellinfo(args) {
    if (args.column.field === "NoteID" && args.cellValue != null) {
        $(args.cellElement).find(".linkbtn").click(function () {
            $.ajax({
                type: "GET",
                url: @Url.Action("GetNoteID", "Notes") + "/" + args.cellValue,
                data: args.data,
                dataType: "json"
            });
        })
    }
}

正确解决方案

方案一:修正模板语法(推荐)

EJ TreeGrid的模板列需要用正确的变量语法绑定字段值,同时修正URL拼接的多余斜杠:

col.Field("NoteID")
    .HeaderText("View")
    .Width(80)
    .TextAlign(TextAlign.Right)
    .IsTemplateColumn(true)
    // 使用 ${NoteID} 作为字段值占位符,适配EJ1的模板语法
    .Template("<a href='" + @Url.Action("GetNoteID", "Notes") + "/${NoteID}' target='_blank'>View Broker Note</a>")                     
    .Add();

提示:如果使用的是EJ2版本,模板语法需改为{{data.NoteID}},请根据实际版本调整。

方案二:修复QueryCellInfo事件逻辑

如果要通过客户端事件实现,需调整逻辑直接修改超链接的href属性(原需求是跳转新窗口,无需AJAX请求):

.ClientSideEvents(eve =>
{
    eve.QueryCellInfo("querycellinfo");
})
function querycellinfo(args) {
    // 按列的HeaderText匹配更准确,因为该列字段是NoteID但显示为View
    if (args.column.headerText === "View" && args.data.NoteID != null) {
        var link = $(args.cellElement).find("a");
        var targetUrl = '@Url.Action("GetNoteID", "Notes")/' + args.data.NoteID;
        link.attr("href", targetUrl);
    }
}

原尝试的问题点:

  • 列匹配逻辑错误:模板列的field是NoteID,但单元格渲染的是超链接,用args.column.field匹配容易出错;
  • 逻辑不符需求:原代码用AJAX请求,而需求是打开新窗口跳转;
  • 未直接修改超链接的href属性,而是绑定了多余的点击事件。

内容的提问来源于stack exchange,提问作者Katiso Koqo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 11:00:03