ajax调用后刷新部分视图

时间:2015-06-23 16:51:20

标签: javascript jquery ajax asp.net-mvc

我在Mvc项目的共享文件夹中有PartialView现在我想要在我的Ajax调用之后这个Partial Be刷新。我用这个:

$('#页脚&#39)的负载。(' /Views/_FooterReport.cshtml'); 我得到这个错误:

获取http://localhost:2885/Views/_FooterReport.cshtml 500(内部服务器错误)

import UIKit
import MediaPlayer

class MainContent: UIViewController {

//Movie Player variables
    var movieViewController : MPMoviePlayerViewController?
    var movieplayer : MPMoviePlayerController!


override func viewDidLoad() {

        super.viewDidLoad()

        //Video Player setup
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "doneButtonClick:", name: MPMoviePlayerPlaybackDidFinishNotification, object: nil)

        var url = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")!
        movieViewController = MPMoviePlayerViewController(contentURL: url)

}

 func doneButtonClick(sender:NSNotification?){
    let value = UIInterfaceOrientation.Portrait.rawValue
    UIDevice.currentDevice().setValue(value, forKey: "orientation")
    movieViewController?.moviePlayer.stop()
  }

    @IBAction func watchPressed(sender: AnyObject){
        self.presentMoviePlayerViewControllerAnimated(movieViewController)
        movieViewController?.moviePlayer.play()
    }
}

(适用'#页脚&#39)的负载。(' /Views/_FooterReport.cshtml');

 <div id="updateAjax">
          some Table
        </div>
     <div class="btnContainer">
       some button here
        </div>
    <div id="Footer">
        @Html.Partial("_FooterReport")
        </div>

      $.ajax({
                    url: url,
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    dataType: "html",
                    traditional: true,
                    data: parameters,
                    success: function (data, textStatus, jqXHR) {
                        $('#updateAjax').html(data);
                      //here How Can I Refresh or Reload my Partial in Footer 

1 个答案:

答案 0 :(得分:1)

这是一个MVC项目。请求将通过路由系统运行。获取此页面的URL(例如:/home/page/)并在jQuery .load语句中使用它。

<div id="Footer">
    <div id="partToBeReplacedWithLoadData">
        @Html.Partial("_FooterReport")
    </div>
</div>

和jQuery加载语句:

$('#Footer').load('/home/page/ #partToBeReplacedWithLoadData');

您无法在项目中请求该文件。它应首先通过一条路线。如果你在一个控制器中有一个路由和一个动作,它只返回了可以工作的页脚部分(类似于:/home/footer/)。

这不会重新加载整个页面,只会获取#Footer div的内容。