使用JQuery将包含行属性的链接添加到表中

Add link with attributes contained in a row to a table using JQuery

本文关键字:添加 链接 JQuery 包含行 属性 使用      更新时间:2023-09-26

我想添加一行到表,我可以这样做,问题是行应该包含一个链接在它和链接应该有一些参数。像这样:

 var $row = $("<tr>" + "<td>" + "<div style='"border-top:3px;padding-top:3px'">" + $("<a>" + result.fileName + "</a>").attr({ href: "/AgencyNotes/OpenFile/" + result.fileName + "/" + result.agencyNoteId }) + "</div>" + "</td>" + "</tr>")
 $(temp).children().children().children().children().first().after($row)

我已经尝试过这个其他的代码,但我在一个表中得到的只是[object Object]:

var $row = $("<tr>" + "<td>" + "<div style='"border-top:3px;padding-top:3px'">" + $("<a>" + result.fileName + "</a>").attr({ href: $(".link_open_file").data("url") }).data({"fileName":result.fileName, "noteId":result.agencyNoteId }) + "</div>" + "</td>" + "</tr>")
 $(temp).children().children().children().children().first().after($row)

行正在正确添加,但链接不工作,这是使用JQuery做到这一点的最佳方法?这是我的控制器动作:

 public ActionResult OpenFile(string fileName, int noteId)
        {
        }

我更喜欢第二种方法,不要硬编码url…我正在从html页面获取url:

  @Html.ActionLink(file.FileName, "OpenFile", new { fileName = file.FileName, noteId = file.AgencyNoteId, @class="link_open_file", data_url=Url.Action("OpenFile","AgencyNotes") })

如果你这样写你的锚标记呢:

"<a href='/AgencyNotes/OpenFile/" + result.fileName + "/" + result.agencyNoteId + "'>" + result.fileName + "</a>"

在你的代码中:

var $row = $("<tr>" + "<td>" + "<div style='"border-top:3px;padding-top:3px'">" + "<a href='/AgencyNotes/OpenFile/" + result.fileName + "/" + result.agencyNoteId + "'>" + result.fileName + "</a>" + "</div>" + "</td>" + "</tr>")

编辑:包括AlexGH的完整解决方案的评论:

"在我向routecconfig文件中添加了一个新的Route后,它就可以工作了,像这样:"

routes.MapRoute("OpenFile", "{controller}/{action}/{fileName}/{noteId}", new { ontroller = "AGgencyNotes", action = "OpenFile"}, new[] { "Project.Controllers" }); 

你试过吗?

var $row = $("<tr>" + "<td>" + "<div style='"border-top:3px;padding-top:3px'">" + $("<a href='" + $(".link_open_file").data("url") + "'>" + result.fileName + "</a>").data({"fileName":result.fileName, "noteId":result.agencyNoteId }) + "</div>" + "</td>" + "</tr>")