2012-02-03 70 views
2

如何使用jQuery調用ASP.NET MVC 3操作?如何使用jQuery調用ASP.NET MVC 3操作?

其實,在我的index.cshtml我有一個組合框,其中有數據庫的扇區名。每當我點擊一個選項,

onclick="Get_sector("some_sector_Name")" 

上面的jQuery函數被調用。下面是jQuery函數。

function Get_sector(sec) 
{ 
    //$.post("/Main/selected_sector?sectrz=" + sec , insertCallback); 

    $.ajax(
    { 
     type: "POST", 
     url: "/Main/selected_sector", 
     data: "sectrz=" + sec, 

     success: function (result) { 
      alert("submitted"); 
     }, 

     error: function (req, status, error) { 
      alert("Sorry!!"); 
     } 
    }); 
} 

每當我點擊組合框選項,我想加載一個名爲Selected_sector的新動作。在這個動作中,將顯示selected_sectorz的完整信息。例如,所選擇的區域有100個房屋出售,等等(其實我開發我爸的業務屬性門戶網站。我在ASP.NET MVC 3個學生和新的)

public ActionResult Selected_sector(string sectrz) 
{ 
    var sec = DB.sectors.Include("Homes_Sale").OrderBy(m=>m.sectorId).Where(m=>m.sectorName==sectrz).ToList(); 
    return View(sec); 
} 

當我再插入這行斷點:

return View(); // return action of Selected_sector 

那麼Selected_sector動作沒有加載。 index.cshtml正在重新加載。

我在網上搜了很多,但是我什麼也沒找到。

回答

0

嘗試返回部分視圖而不是視圖。也就是,

return PartialView("ViewName"); 
+0

是的先生我檢查' async:true, dataType:「html」'但是同樣的問題 – 2012-02-03 17:19:15

+0

並且你確定你的行爲沒有錯誤嗎? – Baz1nga 2012-02-05 02:18:43

0

問題可能出現在您的視圖中。如果您創建了一個視圖「Selected_sector」,則在視圖中設置斷點並查看模型中是否有任何內容。

更多細節:

你應該有一個名爲「Selected_sector」或特殊該視圖,也return view("viewname", model);視圖。

+0

沒有先生在這個時候沒有模型傳遞在這個視圖中簡單地返回view();是使用幫助m m卡住了] – 2012-02-03 20:01:52

+0

你可以發佈你的視圖代碼嗎? – HaBo 2012-02-03 21:34:40

+0

'public ActionResult Sale() { var sec = DB.sectors.Include(「Homes_Sale」)。OrderBy(m => m.sectorId).ToList(); return View(sec); }'以上 – 2012-02-04 11:06:44

0

有關問題的一些問題:

  1. 行動名字你爲什麼要使用下劃線? .NET Naming convetions
  2. 你想要對你的行爲結果做什麼?迭代它並創建一些html?在屏幕上顯示結果? (我的答案取決於這個答案)。

幾點建議:

如果您在使用行動return View(sec);,你應該有你的行動(Selected_sector在這種情況下)的同名查看或使用return View("ViewName",yourModel);而不是要顯示你的結果。如果您向您的操作提交HTTP POST,請將註釋[HttpPost]放在頂部,如Shark所述。

如果您是ASP.NET MVC 3的初學者,我推薦本書Professional ASP.NET MVC 3

相關問題