c#-4.0
  • url.action
  • 2013-04-05 2 views 1 likes 
    1

    Я пытаюсь реализовать @ Url.Action по ссылке, которую нужно щелкнуть.@ Url.action cast exception

    link = "@Url.Action("ExportWeeklyTimesheetPDF", "Hours", new { projectId = Model.ProjectId, reportType = 'Week', reportDate = 'reportDate'})" 
    link.replace("reportDate",dateString); 
    $("#exportPDF").attr("href", link); 
    

    Когда я пытаюсь добавить, ReportType = 'Неделя', reportDate = 'reportDate' Я получаю необработанное исключение произнесения. Если у меня нет ReportType и reportDate, он отлично работает. Как решить этот беспорядок? Любая помощь будет оценена по достоинству.

    Спасибо Нихила

    +0

    Что находится в 'dateString'? Можете ли вы привести нам пример? – mattytommo

    +0

    Кроме того, нельзя, чтобы 'Week' и' reportDate' были двойными кавычками, так как они 'string' not 'char's. – jmoerdyk

    +0

    Я новичок в asp.net Я не уверен, правильно ли я написал. –

    ответ

    0

    Кажется, вы пытаетесь присвоить возвращаемое значение методы C# в яваскрипте переменного, а затем заменить его часть с другой переменной JavaScript. Поправьте меня если я ошибаюсь.

    Вам нужно более внимательно изучить и понять, что вы написали. Это не сработает, потому что вы используете одиночные кавычки вместо double, а строка javascript link.replace заменит только первый экземпляр reportDate.

    Этот код должен работать:

    @{ 
        string url = Url.Action("ExportWeeklyTimesheetPDF", "Hours", new { projectId = Model.ProjectId, reportType = "Week", reportDate = "replaceWithReportDate"}); 
    } 
    
    link = "@url"; 
    link.replace("replaceWithReportDate", dateString); 
    $("#exportPDF").attr("href", link); 
    

    Вы все еще должны убедиться, что replaceWithReportDate изменяется в результате ссылку, чтобы быть в ожидаемом формате.

    Смежные вопросы