每当从文本框更新值时,我想调用控制器操作。
请注意,此脚本位于将从Dispatch / Index控制器操作返回的同一视图中
我尝试这样做:
<script>
$('#deliveryDate').change(function () {
var date = $('#deliveryDate').val();
var sDate = date.split('/');
location.href = 'dispatch/' + sDate[0] + sDate[1] + sDate[2];
});
</script>
它在第一次更改值时完美运行(即页面重定向到/dispatch/12122016
)。
然而,当我再次更改该值时,它会重定向到/dispatch/dispatch/13122016
,因此该值只会保持连续,这当然会产生错误。
我尝试将重定向行转换为location.href = '@Url.Action("Index", "Dispatch")/' + sDate[0] + sDate[1] + sDate[2];
,但现在它只是将新日期连接到网址而不是重定向我需要的方式...(即导航到/dispatch/12122016/13122016
)
有没有办法在不包含文字网址的情况下执行此操作?
如何在重定向我需要的操作之前“清除”当前网址(应该只是dispatch/12122016
?
答案 0 :(得分:2)
只需在URL中添加正斜杠,这应始终指示网址更改始终是绝对的。
作为奖励:我还将/dispatch
之后的日期连接更改为连接。
$('#deliveryDate').change(function () {
var date = $('#deliveryDate').val();
location.href = '/dispatch/' + date.split('/').join('');
});
答案 1 :(得分:0)
通过附加正斜杠来尝试此操作。因为你在每个重定向上连接调度字符串
<script>
$('#deliveryDate').change(function () {
var date = $('#deliveryDate').val();
var sDate = date.split('/');
Var URL = '/dispatch/' + sDate[0] + sDate[1] + sDate[2];
Window.location.href = URL
});
</script>