每当从文本框中更新值时,我想调用 Controller 操作。
请注意,此脚本位于将从 Dispatch/Index Controller 操作返回的同一 View 内
我尝试这样做:
<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];
,但现在它只是将新日期连接到 url,而不是重定向我需要的方式...(即,它导航到 /dispatch/12122016/13122016
)
是否有任何方法可以在不包含文字 url 路径的情况下执行此操作?
如何在重定向我需要的操作之前“清除”当前网址(应该是 dispatch/12122016
?
最佳答案
只需在 URL 中添加一个正斜杠,这应该始终表明 URL 更改始终是绝对的。
作为奖励:我还将 /dispatch
之后的日期连接更改为连接。
$('#deliveryDate').change(function () {
var date = $('#deliveryDate').val();
location.href = '/dispatch/' + date.split('/').join('');
});
关于Javascript 重定向连接 url 而不是重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878445/