簡體   English   中英

Javascript onchange函數更改-到/在url字符串中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM