在按钮单击上渲染部分视图

时间:2014-08-25 16:07:02

标签: asp.net-mvc asp.net-mvc-4 partial-views

所以我已经尝试了一切,但我根本无法返回一个小的局部视图并将其放在div元素中。 这是我的父视图

<button id="doctors">Doktori</button>
<button id="apointments"> Pregledi</button>

 <div id="someDiv">
 </div>

<script>
    document.getElementById("doctors").onclick = function () { myFunction() };
    function myFunction() {

        $("#someDiv").load("@Html.Raw(Url.Action("doctorsview", "HomeController")) ")
    }
</script>

我在.load()函数之前放了一些警告(“message”),它显示了一条消息,但是我把它放在.load()之后,它没有显示它。 我曾尝试使用和不使用html.raw()。 这是我的控制器动作

public ActionResult doctorsview()
{
    return PartialView("~/Views/_Doktor.cshtml", new Doktor());        
}

我哪里错了?

1 个答案:

答案 0 :(得分:16)

您不必传递HomeController的完整名称,在Url.Action()我们必须传递Controller名称的前缀,当我们创建控制器时,我们必须添加Controller的后缀在mvc中,当我们在帮助器中使用它时,我们必须只传递没有Controller后缀的Controller名称:

public class HomeController: Controller
{
public ActionResult doctorsview()
{
  return PartialView("~/Views/_Doktor.cshtml", new Doktor());        
}

}

这样做:

$("#someDiv").load('@Url.Action("doctorsview","Home")');

你应该把它放在Controller的各个Views目录中,在这种情况下是 Views - &gt;主页