[英]How to send data from View to Controller without ajax?
现在,我通过使用以下方法调用控制器方法:
<a class="k-button" href="@Url.Action("ExportData", "Home")">ExportData</a>
工作正常,但我还需要在Controller中发送两个字符串,从中获取DateTime并使用它们从列表中获取数据。 使用Ajax非常简单,但是我该怎么做呢? 我之所以不能使用ajax,是因为Controller方法ExportData返回:
return File(csv, "text/csv", fileName);
由于某种原因,我无法使用Ajax下载任何内容。 同样,通过使用Url.Action,我可以发送一个参数,但不能发送更多参数。
编辑:另外,我需要从以下位置获取这些字符串:
<input class="k-in" style="width: 150px; padding: 0; font-size: 0.9em;" type="text" id="DateFrom" name="DateFrom"/>
<input class="k-in" style="width: 150px; padding: 0; font-size: 0.9em;" type="text" id="DateTo" name="DateTo" />
您可以在Action方法中像这样传递路由值
<a class="k-button" href="@Url.Action("ExportData", "Home",new {p1="sa",p2="as"})">ExportData</a>
然后像这样在ExportData方法中获取这些数据
public ActionResult ExportData(string p1,string p2)
{
...
}
根据您的要求,制作一个这样的javascript函数
function test(){
var url=@Url.Action("ExportData", "Home");
var p1="12";//now you can set this value by javascript
var p2="123";
window.location.href = url + "?p1=" + p1 + "&p2=" + p2;//this will call you action method and pass you parameter.
}
现在,您可以单击所需的按钮或锚标签来调用此功能。
function YourMethod(data)
{
window.location.href = "@Url.Action("ExportData", "Home")?id=" + data;
}
您可以通过这种方式附加任意数量的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.