javascript
  • asp.net-mvc
  • 2015-12-02 3 views 4 likes 
    4

    У меня есть ниже функции яваскрипта в моем приложении MVC,Как передать несколько параметров в url.action в JavaScript в MVC?

    function EditProducts(productId, orderId, employeeId, mode) 
    { 
        mode = "edit"; 
        debugger; 
        var url = '@Url.Action("Index", "Home", new { productId = "__productId__", orderId = "__orderId__", employeeId = "__employeeId__", Mode = "__mode__"})'; 
        var params = url.replace('__productId__', productId).replace('__orderId__', orderId).replace('__employeeId__', employeeId).replace('__mode__', mode); 
        window.location.href = params; 
    } 
    

    Но это не работает. Вот мой контроллер код по я не получаю любые значения ниже vaiables,

    public ActionResult Index(int productId, int orderId, int employeeId, string mode) 
    { 
        return View(); 
    } 
    

    Любые идеи о том, как передать несколько параметров через url.action?

    +0

    Что такое значение 'params' (используйте console.log (Params)', чтобы проверить выход) –

    +0

    Является ли ваш код внутри файла JS или внутри CSHTML (бритва) файл? – simdrouin

    +0

    @StephenMuecke Вот ответ в хроме, PARAMS = "/ Home? ProductID = 1 & OrderId = 4 & EmployeeID = 10 & Mode = редактировать", ProductID = 1, OrderId = 4, EmployeeID = 10, режим = редактировать – AMeh

    ответ

    7

    Использования @ Html.Raw для предотвращения амперсанда от превращения в & внутри кода яваскрипта

    function EditProducts(productId, orderId, employeeId, mode) 
    { 
        mode = "edit"; 
        debugger; 
        var url = '@Html.Raw(Url.Action("Index", "Home", new { productId = "__productId__", orderId = "__orderId__", employeeId = "__employeeId__", Mode = "__mode__"}))'; 
        var params = url.replace('__productId__', productId).replace('__orderId__', orderId).replace('__employeeId__', employeeId).replace('__mode__', mode); 
        window.location.href = params; 
    } 
    
    1

    Получить базовый URL для метода действия с использованием Url.Action вспомогательного метода и добавить строки запроса Params к этому.

    Это должно работать нормально

    $(function(){ 
    
        var productId = 23; 
        var employeeId = 44; 
        var orderId = 34; 
        var mode = "tes"; 
    
        var url = '@Url.Action("Index", "Post")'; 
        url += '?productId=' + productId + '&orderId=' + orderId + 
                  '&employeeId=' + employeeId + '&mode=' + mode; 
        window.location.href = url; 
    
    Смежные вопросы