构造并传递JavaScript字符串列表给ASP.. NET MVC控制器动作(不使用ajax)
Construct and pass JavaScript string list to ASP.NET MVC Controller action (not using ajax)
我如何在JavaScript中构建字符串列表并将其传递给window.location
,使其在c#的围栏一侧显示为List<string>
?
(不使用Ajax POST,而是使用window.location
)
ASP。. NET MVC控制器动作:
public FileResult GetMyCsvFile(List<string> columnNames)
{
...
}
示例JavaScript:
$('export-button').click(function (e) {
e.preventDefault();
// TODO: How do I construct the next line(s) such that it can pass a list of strings to my C# controller action?
window.location = ROOT_PATH + "Home/GetMyCsvFile ... ????
});
Try
"Home/GetMyCsvFile?columnNames=firstColumn&columnNames=secondColumn...."
作为一个例子,创建<a>
标记并给它一个id
@Html.ActionLink("Click me", "Test", "Task", null, new { id = "myLink" })
然后在脚本中(注意,我使用了jquery,因为这是你在问题中使用的)
$('#myLink').click(function (e) {
e.preventDefault();
// Define the values to pass to the controller
var firstCol = 'value1';
var secondCol = 'value2';
// Construct url with query string
var path = $(this).attr('href');
path += '?columnNames=' + firstCol + '&columnNames=' + secondCol;
// Navigate to the view
window.location = path;
});
如果它是一个变量值列表,则需要在循环中构造url,例如
for (var i = 0; i < myValues.length; i++) {
if (i === 0) {
path += '?columnNames=' + myValues[i];
} else {
path += '&columnNames=' + myValues[i];
}
}
相关文章:
- 从控制器返回后Ajax启动事件激发
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- 通过rails中的Ajax在控制器B的每个视图中渲染控制器a的视图
- 当通过AJAX调用时,控制器操作不会执行
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- Javascript/jQuery压缩一个图像正确的评论帖子,并使用Ajax Laravel 5.2保存到控制器中
- 使用 JQUERY AJAX (Spring MVC) 从控制器中删除
- 调用控制器后Ajax抛出错误
- 从控制器返回到Ajax的数据混乱
- 使用AJAX POST从javascript到带有Strong参数的Rails4控制器
- 使用ajax在同一页面中获取控制器动作渲染
- 如何使AngularJS控制器依赖于通过ajax加载在rootScope上的值
- JQuery$.ajax()发布数据以调用我的控制器中的方法
- Ajax”;链接_;当点击非常快时发送多个请求控制器请求(Rails4)
- MVC5:通过 Ajax 发布 JSON 时未正确将数据传递到控制器
- 从填充了 AJAX 的下拉列表中获取控制器的操作方法中的值
- 如何在控制器代码点火器中从 ajax 获取数据
- 在 AJAX 调用的 zend 控制器操作中正确设置会话
- 将消息从控制器传递到视图中的 AJAX 脚本