Render Partial View Using jQuery in ASP.NET MVC

后端 未结 8 2060
有刺的猬
有刺的猬 2020-11-22 11:13

How do I render the partial view using jquery?

We can render the partial View like this:

<% Html.RenderPartial(\"UserDetails\"); %>
         


        
8条回答
  •  有刺的猬
    2020-11-22 11:43

    You can't render a partial view using only jQuery. You can, however, call a method (action) that will render the partial view for you and add it to the page using jQuery/AJAX. In the below, we have a button click handler that loads the url for the action from a data attribute on the button and fires off a GET request to replace the DIV contained in the partial view with the updated contents.

    $('.js-reload-details').on('click', function(evt) {
        evt.preventDefault();
        evt.stopPropagation();
    
        var $detailDiv = $('#detailsDiv'),
            url = $(this).data('url');
    
        $.get(url, function(data) {
            $detailDiv.replaceWith(data);         
        });
    });
    

    where the user controller has an action named details that does:

    public ActionResult Details( int id )
    {
        var model = ...get user from db using id...
    
        return PartialView( "UserDetails", model );
    }
    

    This is assuming that your partial view is a container with the id detailsDiv so that you just replace the entire thing with the contents of the result of the call.

    Parent View Button

     
    

    User is controller name and details is action name in @Url.Action(). UserDetails partial view

提交回复
热议问题