Redirecting to another page in ASP.NET MVC using JavaScript/jQuery

前端 未结 6 1590
执念已碎
执念已碎 2020-12-12 11:46

I want to redirect from one page to another page in ASP.NET MVC 3.0 using JavaScript/jQuery/Ajax. On button click event I have written JavaScript code like below.

         


        
相关标签:
6条回答
  • 2020-12-12 12:04

    You can use:

    window.location.href = '/Branch/Details/' + id;
    

    But your Ajax code is incomplete without success or error functions.

    0 讨论(0)
  • 2020-12-12 12:16

    This could be done by using a hidden variable in the view and then using that variable to post from the JavaScript code.

    Here is my code in the view

    @Html.Hidden("RedirectTo", Url.Action("ActionName", "ControllerName"));
    

    Now you can use this in the JavaScript file as:

     var url = $("#RedirectTo").val();
     location.href = url;
    

    It worked like a charm fro me. I hope it helps you too.

    0 讨论(0)
  • 2020-12-12 12:18
    // in the HTML code I used some razor
    @Html.Hidden("RedirectTo", Url.Action("Action", "Controller"));
    
    // now down in the script I do this
    <script type="text/javascript">
    
    var url = $("#RedirectTo").val();
    
    $(document).ready(function () {
        $.ajax({
            dataType: 'json',
            type: 'POST',
            url: '/Controller/Action',
            success: function (result) {
                if (result.UserFriendlyErrMsg === 'Some Message') {
                    // display a prompt
                    alert("Message: " + result.UserFriendlyErrMsg);
                    // redirect us to the new page
                    location.href = url;
                }
                $('#friendlyMsg').html(result.UserFriendlyErrMsg);
            }
        });
    </script>
    
    0 讨论(0)
  • 2020-12-12 12:22

    check the code below this will be helpful for you:

    <script type="text/javascript">
      window.opener.location.href = '@Url.Action("Action", "EventstController")', window.close();
    </script>
    
    0 讨论(0)
  • 2020-12-12 12:27

    You are not subscribing to any success callback in your $.post AJAX call. Meaning that the request is executed, but you do nothing with the results. If you want to do something useful with the results, try:

    $.post('/Branch/Details/' + id, function(result) {
        // Do something with the result like for example inject it into
        // some placeholder and update the DOM.
        // This obviously assumes that your controller action returns
        // a partial view otherwise you will break your markup
    });
    

    On the other hand if you want to redirect, you absolutely do not need AJAX. You use AJAX only when you want to stay on the same page and update only a portion of it.

    So if you only wanted to redirect the browser:

    function foo(id) {
        window.location.href = '/Branch/Details/' + id;
    }
    

    As a side note: You should never be hardcoding urls like this. You should always be using url helpers when dealing with urls in an ASP.NET MVC application. So:

    function foo(id) {
        var url = '@Url.Action("Details", "Branch", new { id = "__id__" })';
        window.location.href = url.replace('__id__', id);
    }
    
    0 讨论(0)
  • 2020-12-12 12:27
    <script type="text/javascript">
        function lnkLogout_Confirm()
        {
            var bResponse = confirm('Are you sure you want to exit?');
    
            if (bResponse === true) {
                ////console.log("lnkLogout_Confirm clciked.");
                var url = '@Url.Action("Login", "Login")';
                window.location.href = url;
            }
            return bResponse;
        }
    
    </script>
    
    0 讨论(0)
提交回复
热议问题