[英]How to get dynamically a changing value from onchange function on javascript?
[英]Javascript onchange function changing - to / in url string?
我有一個mvc3網頁,該網頁帶有代表日期的url參數,即dd-MM-yyyy
public ActionResult Calendar(string startDate, string UserId, string status, bool myPage = false)
我在日歷視圖中有一個局部視圖,每當更改ddl時,它就會調用一個onchange事件,它表示方法中的status參數,並且也傳遞給url。
我的日歷視圖的地圖路線如下所示:
routes.MapRoute(
"TimesheetCalendar", // Route name
"Timesheet/Calendar/{startDate}/{UserId}", // URL with parameters
new { controller = "Timesheet", action = "Calendar", UserId = UrlParameter.Optional } // Parameter defaults
);
我的javascript onchange事件(在一個包含的局部視圖中調用)如下所示:
<script type="text/javascript">
$(function () {
$(".ddl").change(function () { changePage(); });
});
function changePage() {
location.href = '@Url.Action("Calendar", "Controller", new { startDate = @ViewBag.startDate, UserId = (string)null })/' + '@ViewBag.userId' + '?status=' + $('#ControllerStatus').val() + '&myPage=@ViewBag.myPage';
}
在控制器的calender get方法中,將Viewbag.startdate設置為date.ToString(dd-MM-yyyy)
。
有時候,它工作正常。 當我更改ddl狀態時,頁面會根據狀態刷新日歷和部分視圖。 但是,有些時候(似乎日歷的星期幾是當前星期),當我更改ddl時 ,瀏覽器會重定向到404 error
,而不是網址中的日期為dd-MM-yyyy
,顯示為dd/MM/yyyy
,從而完全弄亂了網址。
我是javascript新手,不知道為什么會這么做? 我希望我提供了有關我的代碼的足夠信息。 有人知道為什么代表日期的字符串突然有連字符-變為破折號/嗎?
任何幫助,不勝感激
抱歉。 剛剛意識到,日期的默認ToString
方法使用slash/
,並且在視圖與其局部視圖之間來回傳遞日期之間的某個地方,我設置的是日期ToString()
而不是ToString("dd-MM-yyyy")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.