Javascript 如何使用下划线.js模板中的数据呈现Url.Action?

Javascript 如何使用下划线.js模板中的数据呈现Url.Action?,javascript,asp.net-mvc-4,backbone.js,underscore.js,Javascript,Asp.net Mvc 4,Backbone.js,Underscore.js,当我们点击下载按钮时,我正试图下载一个JSON文件 public ActionResult getJsonFile(Guid ProtocolId) { List<Country> lst = new List<Country>(); for (int i = 1; i <= 10; i++) { lst.Add(new Country() { CountryId = i, CountryName = "India" + i

当我们点击下载按钮时,我正试图下载一个JSON文件

public ActionResult getJsonFile(Guid ProtocolId)
{
    List<Country> lst = new List<Country>();
    for (int i = 1; i <= 10; i++)
    {
        lst.Add(new Country() { CountryId = i, CountryName = "India" + i });
    }
    string jsondata = new JavaScriptSerializer().Serialize(lst);
    byte[] bytes = System.Text.Encoding.ASCII.GetBytes(jsondata);
    return File(bytes, "application/json", "JsonData.json");
}
这里,
协议ID
需要使用这些标记
(下划线.js模板)进行绑定,因为我使用Backbone.js作为客户端脚本


如何将
protocolid
绑定到锚定标记,以便当用户单击
Download
链接时,它应该将
protocolid
发送到
getJsonFile()
方法?

假设
@url.Action(“getJsonFile”,“Home”)返回url
的格式如下
/home/json file/
,您希望获得:

/home/json-file/1234
您可以只附加id:

<a href="@Url.Action("getJsonFile", "Home")<%= protocolid %>">Download</a>
因此,它会在正确的位置生成标记,例如:

/home/get-json/<%=protocolid%>/download/
/home/get json//下载/

因此,当使用下划线呈现时,
将被正确替换。

假设
@url.Action(“getJsonFile”,“Home”)
返回的url为以下形式的
/Home/json file/
,并且您希望得到:

/home/json-file/1234
您可以只附加id:

<a href="@Url.Action("getJsonFile", "Home")<%= protocolid %>">Download</a>
因此,它会在正确的位置生成标记,例如:

/home/get-json/<%=protocolid%>/download/
/home/get json//下载/

因此,当使用下划线渲染时,
将被正确替换。

嗨,Emile Bergeron,谢谢您的解决方案。我对第一个解决方案做了一些修改,对我来说效果很好。你好,埃米尔·伯格伦,谢谢你的解决方案。我对第一个解决方案做了一些修改,对我来说效果很好。