Embed Html.ActionLink in Javascript in Razor
I know that it's possible to embed @Html in Javascript in MVC3, but I can't get the following to work and not sure if this is possible yet.
Using jQuery DataTable, I have an AJAX call to create my new row, then I programatically add this using the datatable API. This all works, but then I want to put my Edit ActionLink onto the row and it only shows up with the text "Edit", not the link.
Of cours开发者_C百科e I could do this manually, just wondering if there is a better option.
e.g.
tablePallets.fnAddData([ GetPalletActionLinks(), etc...
function GetPalletActionLinks() {
var result = @Html.ActionLink("Edit", "EditPallet", new { id = 1 });
return result;
}
I've hard coded ID = 1 for the moment, but I can easily get this for the newly created row.
Thanks Duncan
I think it's a simple as adding quotes around the link:
var result = '@Html.ActionLink("Edit", "EditPallet", new { id = 1 })';
This will generate the whole <a>
tag. What you could do as well is just return the url:
var result = '@Url.Action("EditPallet", new { id = 1 })';
and the embed it in an existing anchor using jQuery:
<!-- let's imagine this already exists -->
<a href="#" id="dynamicLink">Edit</a>
// result is ovbiously what the other function returns
$("#dynamicLink").attr("href", result);
精彩评论