将Javascript变量添加到asp路由数据中

将Javascript变量添加到asp路由数据中,javascript,c#,jquery,asp.net,razor,Javascript,C#,Jquery,Asp.net,Razor,我有一个asp操作,它有多个参数需要传递给控制器。一些变量可以根据页面上的操作进行更改,例如,我有一个日期选择器,用户可以选择他们想要的日期 当他们更改日期时,该日期将保存为Javascript变量 <script> $('#pvHistoricalDates').on('change', '#date', function (ev, picker) { date = $(this).find("option:selected").val();

我有一个asp操作,它有多个参数需要传递给控制器。一些变量可以根据页面上的操作进行更改,例如,我有一个日期选择器,用户可以选择他们想要的日期

当他们更改日期时,该日期将保存为Javascript变量

<script>
     $('#pvHistoricalDates').on('change', '#date', function (ev, picker) {
            date = $(this).find("option:selected").val();
     });
</script>

$(“#pvHistoricalDates”).on('change','#date',函数(ev,picker){
日期=$(this).find(“选项:选定”).val();
});
我是否可以在不创建URL的情况下将该变量值插入到下面的asp操作中。我知道这个解决方案,但我很好奇是否可以直接将其作为变量插入

<script>
     $('#pvHistoricalDates').on('change', '#date', function (ev, picker) {
            date = $(this).find("option:selected").val();
     });
</script>

按钮

razor视图中的标记助手在服务器上执行,其结果(HTML标记)将发送到浏览器,浏览器将呈现它。因此,此时,anhcor标记帮助器已经生成了链接的
href
属性值

您可以做的是,使用JavaScript覆盖正常的链接单击行为,从页面读取输入元素值,并使用该值构建新URL并导航到该URL

您可以为日期参数提供一个虚拟值。我还为锚标记提供了一个
Id
属性,稍后我将在jQuery选择器中使用该属性

<a  id="btn" asp-action="LoadData" asp-route-account="@Model.Account" 
                                   asp-route-date="dummyDate">Button</a>

如果这是您的要求,您可以将其作为
查询字符串参数
传递到
url
。是的,我可能会这样做。我只是想知道我是否可以坚持
asp操作
,而不必自己构建
url
。您希望在这里实现什么?您是否试图将大量数据发布回服务器以进行数据输入?如果是这样,为什么不将这些值包装成一个表单?如果这只是一个快速更新,您可以使用ajax这只是一个一般性的问题,我有一个页面,有几个不同的选项,您可以选择哪些更新某些变量,而许多变量将保持不变,但可能不需要同时提交所有变量。看起来你无法将JQuery或JS变量放入Razor页面,所以我将只执行你提到的
ajax
调用。看起来这个问题回答了我的问题。