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

时间:2016-11-15 15:43:35

标签: javascript c# jquery ajax asp.net-mvc

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

[object Object]

我已尝试过其他代码,但我在la table中得到的只是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)

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

正在正确添加行但链接不起作用,这是使用JQuery执行此操作的最佳方法吗? 顺便说一下,这是我的控制器动作:

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

我更喜欢第二种方法,不对网址进行编码...... 我从html页面获取了网址:

{{1}}

2 个答案:

答案 0 :(得分:1)

如果您编写了这样的锚标记怎么办:

"<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对完整解决方案的评论:

“我在RouteConfig文件中添加了一个新的Route后,它就可以了,就像这样:”

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

答案 1 :(得分:0)

你试过这个吗?

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>")