将Javascript变量添加到asp路由数据中
我有一个asp操作,它有多个参数需要传递给控制器。一些变量可以根据页面上的操作进行更改,例如,我有一个日期选择器,用户可以选择他们想要的日期 当他们更改日期时,该日期将保存为Javascript变量将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();
<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
调用。看起来这个问题回答了我的问题。