Load partial view in a div MVC

后端 未结 5 1717
难免孤独
难免孤独 2020-12-16 12:04

I have a button on my MVC view on click of it, it should add a partial view in a \'div\', by calling an action which takes an object as a parameter

I tried out some

相关标签:
5条回答
  • 2020-12-16 12:46

    load require a string, you are generating a variable path if you look at your source code it generate something like:

    $('#buttonId').click(function(){
        $('#divid').load(yoururl/);
    });
    

    but what you want is:

    $('#buttonId').click(function(){
        $('#divid').load("yoururl/");
    });
    

    the code should look like:

    $('#buttonId').click(function(){
        $('#divid').load('@Html.Action("ActionName","ControllerName",new{parameterName = objectToPass})');
    });
    

    but as I can see the load should be working until you click on #buttonId

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

    On ajax call success function append result

    ajax call=>

    url: 'controllername/methodname'
     success: function (partialviewresult)
    { 
              $('#div').append(partialviewresult);
    }
    
      // inside controller
     public ActionResult methodname()
    {
        return PartialView("~/a/a.cshtml");
    }
    

    and controller must return partialview as result

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

    Load Partial View in a div MVC 4

    Recently I want load Partal View in Div , after doing lots of R&D and It's work for me

    $.ajax({
        type: 'POST',
        url: '@Url.Content("~/ControllerName/ActionName")',
        data: {
            title: title
        },
        success: function(result) {
            $('#divid').innerHTML = result;
        }
    });
    

    And In Partal View Action Controller Code

    public PartialViewResult ShowCategoryForm(string title)
    {
        Model model = new Model();
        model.Title = title;
        return PartialView("~/Views/ControllerName/PartalView.cshtml", model);
    }
    
    0 讨论(0)
  • 2020-12-16 13:07

    Try to use

    @Url.Action
    

    instead of

    @Html.Action
    

    Or you can use ajax, for example:

    $('#buttonId').click( function() {
        $.ajax({
            type: 'POST',
            url: '@Url.Content("~/ControllerName/ActionName")',
            data: objectToPass,
            success: function (data) {
               $('#divid').innerHTML = data;
            }
        });
    }
    
    0 讨论(0)
  • 2020-12-16 13:11
    <script type="text/javascript">
        $(document).ready(function () {
            $('#buttonId').click(function () {
                $('#divid').load('@Url.Action("About", "Home")');
            });
        });
    </script>
    
    <a id="buttonId">Load partial view or Any URL</a>
    
    <div id="divid" style="height:100px; width:400px";>
    
    </div>
    
    0 讨论(0)
提交回复
热议问题