我试图在表中添加一行,我可以这样做,问题是该行应该包含一个链接,链接应该有一些参数。像这样:
[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}}
答案 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>")