[英]Pass a javascript variable as parameter to @url.Action()
是否有可能將javascript變量作為參數傳遞給@ url.Action(),因為據我所知可能存在服務器和客戶端問題,我的要求是我必須根據過濾器下載文件,並進行ajax調用不適用於下載文件。 所以我已經對@ url.Action()進行了編碼,但無法實現,有人可以建議我如何將參數傳遞給@ url.Action()或任何其他方法。
這是我的代碼
<a href="@Url.Action("Export", new { SelectedAccountType="1", FromDate = "2014-02-02", ToDate = "2014-02-02", SelectedAccount = "", SelectedUser = "", SelectedTeam = "" })" class="btn-primary" id="exportbutton2"> Export as CSV</a>
這是我想分配給@ Url.Action的參數
<script type="text/javascript">
var accountType = $('#SelectedAccountType').val();
var fromDate = $('#FromDate').val();
var toDate = $('#ToDate').val();
var accountId = $('#SelectedAccount').val();
var userId = $('#SelectedUser').val();
var teamId = $('#SelectedTeam').val();
</script>
您需要使用javascript / jquery構建網址。 在視圖中,將鏈接更改為
<a id="export" href=#">Export as CSV</a>
然后在腳本中
var baseurl = '@Url.Action("Export")';
$('#export').click(function() {
var url = baseurl + '?SelectedAccountType=' + $('#SelectedAccountType').val() + '&FromDate=' + $('#FromDate').val() + '&ToDate=' + $('#ToDate').val() + ...etc
location.href=url;
});
但是,如果您的表單標記有FormMethod.Get
,那么您可以使用常規的提交按鈕,而無需使用jquery
@using (Html.BeginForm("Export", "yourControllerName", FormMethod.Get))
{
@Html.TextBoxForm(m => m.SelectedAccountType)
....
<input type="submit" value="Export" />
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.