【问题标题】:Render partial view on button click单击按钮时渲染局部视图
【发布时间】:2014-10-18 20:16:33
【问题描述】:

所以我已经尝试了所有方法,但我根本无法返回一个小的局部视图并将其放置在 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() 函数之前放了一些 alert("message"),它显示了一条消息,但是我把它放在 .load() 之后,它没有显示。 我尝试过使用和不使用 html.raw()。 这是我的控制器操作

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

我哪里错了?

【问题讨论】:

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


    【解决方案1】:

    你不必传递HomeController的完整名称,在Url.Action()中我们必须传递控制器名称的前缀,当我们创建控制器时,我们必须在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 -> Home

    【讨论】:

    • 我正在处理这个问题几个小时。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多