Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JQuery变量分配给Html.Actionlink以将参数传递给新视图_Jquery_Asp.net Core_Razor_Actionlink - Fatal编程技术网

将JQuery变量分配给Html.Actionlink以将参数传递给新视图

将JQuery变量分配给Html.Actionlink以将参数传递给新视图,jquery,asp.net-core,razor,actionlink,Jquery,Asp.net Core,Razor,Actionlink,我想将JQuery变量传递给应用程序中的其他操作。我不想使用AJAX,因为该操作会进行大量处理,并在不同的视图中打开报告 JQuery: var from = $('#dateFrom').val(); var to = $('#dateTo').val(); var uid = $('#projectUid').text(); console.log('From: ' + from + ' To: ' + to + ' uid: ' + uid);

我想将JQuery变量传递给应用程序中的其他操作。我不想使用AJAX,因为该操作会进行大量处理,并在不同的视图中打开报告

JQuery:

 var from = $('#dateFrom').val();
 var to = $('#dateTo').val();
 var uid = $('#projectUid').text();
 console.log('From: ' + from + '   To: ' + to + '  uid: ' + uid);                  

 $('#dateFrom').change(function () {
     from =  $('#dateFrom').val();
 });

 $('#dateTo').change(function () {
     to = $('#dateTo').val();
 });
我知道Razor是在服务器端处理的,所以我想发布到将创建新视图的操作,类似于:

 $(document).ready(function () {
     $('#btnSubmit.click').click(function () {
          @Html.ActionLink("View Report", "PdfReport", "ReportGenerator"), { from: from }, { to: to }, { projectreference: uid };
      });
 });

 <input type="submit" id="btnSubmit" name="btnSubmit" value="Create Report" class="btn btn-sm btn-primary" />

所以我的问题是,如何在HtmlActionLink中将JQuery变量作为参数传递给操作。我假设你不能,因为Razor是在服务器端编译的。考虑到这一点,不使用AJAX的替代方案是什么。

您不想使用AJAX有什么特别的原因吗?我正在退出视图,因此不需要回调。我对actionlink了解不够,无法回答您的问题,但是,您可以通过在
$(“#btnSubmit.click”)之后添加要触发的前3个
var
语句来压缩代码。通过这种方式,在您准备好使用输入之前,您不必担心输入的状态,并且可以删除
.change
部分。您只需在
元素中添加这些字段,并正确提交表单即可。这样,打开报告就容易多了。实际上你不需要JavaScript。我已经做到了,我很想知道这是否可能。你不想使用ajax有什么特别的原因吗?我正在退出视图,所以我不需要回调。我对actionlink了解不够,无法回答你的问题,但是,您可以通过在
$(“#btnSubmit.click”)之后添加要触发的前3个
var
语句来压缩代码。通过这种方式,在您准备好使用输入之前,您不必担心输入的状态,并且可以删除
.change
部分。您只需在
元素中添加这些字段,并正确提交表单即可。这样,打开报告就容易多了。实际上你不需要JavaScript,我已经做到了,我很想知道这是否可行。
  public IActionResult PdfReport(string from, string projectreference, string to)
  {
      var dateFrom = Convert.ToDateTime(from).ToString("yyyy-MM-dd HH:mm:ss");
      var dateTo = Convert.ToDateTime(to).AddMinutes(1).ToString("yyyy-MM-dd HH:mm:ss");  
      var puid = projectreference;    
  }