部分视图未显示(ASP.NET MVC)

时间:2017-03-27 14:36:30

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我有部分视图

这是代码

@model IEnumerable<SmartSolutions.Models.QuestionBlock>

@foreach (var item in Model) {
    <div>
        @Html.DisplayFor(modelItem => item.Question1)
    </div>       
}

这里是控制器的代码

 public ActionResult Recording(int id)
    {
        /*var items = db.QuestionBlocks
            .Where(x => x.Interview_Id == id)
            .Select(x => x).ToList();*/
        ApplicationDbContext db = new ApplicationDbContext();
        return View();
    }

    public ActionResult QuestionBlock(int id) {

        ApplicationDbContext db = new ApplicationDbContext();
        var questionblocks = db.QuestionBlocks.Take(id);
        return PartialView(questionblocks);
    }

以下是我尝试显示PartialView的视图代码

<div class="inner-div4" style="background: #ffffff">
<div class="counter-one">
    3/10
</div>
<div class="right-welcome-div2-borderless" style="background: #e5e5e5">
    <div class="timer-div-one" id="countdown" style="height: 20px; width: 20px;">

    </div>
    <div class="counter-div">
    </div>
    <p>@Html.Label("Show", htmlAttributes: new { @class = "showList", @style= "cursor:pointer;", data_rows = 1 })</p>
    <div id="questions">

    </div>

这是AJAX调用

<script>
$('.showList').click(function (e) {
    var rows_num = this.getAttribute("data-rows");
    $.ajax({
        type: "GET",
        url: "/interwier/QuestionBlock",
        data: { id: rows_num },
        sucess: function (data) {
            $("#questions").html(data);

        },
        error: function () {
            alert("Smth wrong in controller");
        }
    });
});

我的问题&lt;当我单击<p>@Html.Label("Show", htmlAttributes: new { @class = "showList", @style= "cursor:pointer;", data_rows = 1 })</p>时,我在网络控制台数据中看到了,但没有在View上看到。

2 个答案:

答案 0 :(得分:2)

您的AJAX代码中有一个拼写错误:sucess而不是success。从本质上讲,目前您没有success方法,因此返回的响应没有任何反应。

答案 1 :(得分:1)

我认为将参数名称 data_rows 更改为 id 。所以请试一试。

您方法中的简单更改。

public ActionResult QuestionBlock(int id) {

    ApplicationDbContext db = new ApplicationDbContext();
    var questionblocks = db.QuestionBlocks.Take(id);
    return PartialView("Name_Of_PartialView",questionblocks);
}