gpt4 book ai didi

javascript - 将 javascript 变量作为参数传递给 @url.Action()

转载 作者:行者123 更新时间:2023-11-30 07:59:53 25 4
gpt4 key购买 nike

是否可以将 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 构建您的 url。在 View 中将链接更改为

<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" />
}

关于javascript - 将 javascript 变量作为参数传递给 @url.Action(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30731582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com