ダウンロードボタンをクリックしたときにJSONファイルをダウンロードしようとしています。私は、このメソッドに任意のパラメータ(ProtocolId
)を送信しない場合Underscore.jsテンプレートのデータを使用してUrl.Actionをレンダリングするにはどうすればよいですか?
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");
}
このコードは、私のために正常に動作します。ここで
<script type="text/ng-template">
<button type="button" onclick="location.href='@Url.Action("getJsonFile", "Home")">Download</button>
</script>
は、protocolid
は、私は、クライアント側のスクリプトとしてBACKBONE.JSを使用していて、これらのタグ<%= protocolid %>
(Underscore.jsテンプレート)を使用してバインドする必要があります。ユーザーがDownload
リンクをクリックしたときに、それはgetJsonFile()
方法にprotocolid
を送信する必要がありますように、私はアンカータグにprotocolid
をバインドするにはどうすればよい
? @Url.Action("getJsonFile", "Home")
によって返されたURLを想定し
こんにちはEmile Bergeron、ありがとうございました。私は第1の解決策にほとんど変更を加えず、それは私にとってうまくいった。 ">Download –