如何使用jQuery调用ASP.NET MVC 3操作?
实际上,在我的index.cshtml
我有一个组合框,它有来自数据库的sectorz名称。每当我点击一个选项时,
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 :(得分:0)
尝试返回部分视图而不是视图。也就是说,
return PartialView("ViewName");
答案 1 :(得分:0)
问题可能在您看来。如果您已创建视图“Selected_sector”,则在视图中设置断点,并查看模型中是否包含任何内容。
更多详情:
您应该有一个名为“Selected_sector”的视图或要加载的视图return view("viewname", model);
。
答案 2 :(得分:0)
有关您问题的一些问题:
一些建议:
如果您在操作中使用return View(sec);
,则应该有一个与您的操作名称相同的视图(在这种情况下为Selected_sector
)或使用return View("ViewName",yourModel);
来显示您的结果。如果您向操作提交HTTP POST,请将注释[HttpPost]
放在顶部,如Shark所说。
如果您是ASP.NET MVC 3的初学者,我建议您使用 Professional ASP.NET MVC 3 这本书。