2014-10-29 67 views
0

我想在我的頁面中使用jQuery首先運行ajax請求。在視圖 頁localhost:1382/Home/Index我有這樣的代碼:Asp.net ajax查詢返回頁面

...bla-bla, another usless code.. 
$.ajax({ 
         url: "Index/ShowStadium", 
         contentType: "application/json; charset=utf-8", 
         dataType: "text", 
         type: "POST", 
         data: "", 
         success: function (data) { 
          $(".right-content").html(data); 
         }, 
         error: function (xhr, textStatus) { 
          alert(textStatus); 
          $(".right-content").html("в этом клубе нет спортивных площадок"); 
         } 

        }); 
...other usless code... 

所以我在HomeController把一個名爲ShowStadium()功能。但每次我得到這樣的錯誤之一:

  1. 200 - 分析錯誤。
  2. 好的,但回覆是一整頁。

這裏是我的HomeController代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using ProjectMVC.Models; 
using System.Web.Services; 

    namespace ProjectMVC.Controllers 
    { 
     public class HomeController : Controller 
     { 
      private readonly Initializer init = new Initializer(); 

      public ActionResult Index() 
      { 
       return View(); 
      } 

      [HttpPost] 
      public ActionResult Index(EventDetails obj) 
      { 
       if (ModelState.IsValid) 
       { 
        ViewData["Error"] = "nice one!"; 
        return Redirect("/home/index2.cshtml"); 
       } 
       else 
       { 
        ViewData["Error"] = "Заполните необходимые поля, пожалуйста"; // If JS disabled 
       } 
       return View(); 
      } 

      [WebMethod] 
      public static string ShowStadium() 
      { 
       return "Футбольное поле"; 
      } 
     } 
    } 

正如我告訴,對我來說最大的問題是一個頁面響應,視其返回HomeController頁面。

回答

0

你不需要WEBMETHOD用於該用途的行動,而不是:

public ActionResult ShowStadium() 
{ 
    return Content("Футбольное поле"); 
} 

的javascript:

$.ajax({ 
     url: "HOme/ShowStadium", 
     contentType: "application/json; charset=utf-8", 
     dataType: "text", 
     type: "POST",      
     success: function (data) { 
      $(".right-content").html(data); 
     }, 
    error: function (xhr, textStatus) { 
      alert(textStatus); 
      $(".right-content").html("в этом клубе нет спортивных площадок"); 
    } 
    }); 
+0

YES!是的是的!!萬分感謝! – dantey89 2014-10-29 19:40:27

+0

你能解釋一下爲什麼在響應函數前添加[webMethod]的所有視頻資料? – dantey89 2014-10-29 19:45:16

+3

@ dantey89因爲這些教程可能是用於asp.net webforms,這是asp.net mvc。 – 2014-10-29 19:47:05