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

C# 部分视图未显示(ASP.NET MVC),c#,asp.net,asp.net-mvc,asp.net-mvc-4,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> } 下面是我试图展示PartialView的视图代码 <div class="inne

我有部分看法

这是代码

@model IEnumerable<SmartSolutions.Models.QuestionBlock>

@foreach (var item in Model) {
    <div>
        @Html.DisplayFor(modelItem => item.Question1)
    </div>       
}
下面是我试图展示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>

3/10
@Label(“Show”,htmlAttributes:new{@class=“showList”,@style=“cursor:pointer;”,data_rows=1})

这里是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");
        }
    });
});

$('.showList')。单击(函数(e){
var rows_num=this.getAttribute(“数据行”);
$.ajax({
键入:“获取”,
url:“/interwier/QuestionBlock”,
数据:{id:rows_num},
成功:函数(数据){
$(“#问题”).html(数据);
},
错误:函数(){
警报(“控制器中的Smth错误”);
}
});
});


我的问题是,<当我点击
@Html.Label(“Show”,htmlAttributes:new{@class=“showList”,“style=”cursor:pointer;“,data_rows=1})

我在网络控制台中看到了数据,但在视图中看不到。

我认为将参数名数据行更改为id。所以请尝试一下

以及对方法的简单更改

public ActionResult QuestionBlock(int id) {

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

我认为将参数名称数据行更改为id。所以请尝试一下

以及对方法的简单更改

public ActionResult QuestionBlock(int id) {

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


您的AJAX代码中有一个输入错误:
success
而不是
success
。实际上,您目前没有
success
方法,因此返回的响应不会发生任何变化。

您的AJAX代码中有一个输入错误:
success
而不是
success
。本质上,您目前没有
success
方法,因此返回的响应不会发生任何变化。

这有什么价值<代码>var questionblocks=db.questionblocks.Take(id)如果我设置断点,它会显示id=1@mariocatchWhat问题块的值是多少?您是否检查了问题块的计数?是的。一block@ChetanRanpariyaWhat这有什么价值<代码>var questionblocks=db.questionblocks.Take(id)如果我设置断点,它会显示id=1@mariocatchWhat问题块的值是多少?您是否检查了问题块的计数?是的。一block@ChetanRanpariyaFlash回到小学英语:“双倍的‘C’,双倍的‘S’,你就会永远成功。”)这只是问题之一。这与@Nayan Dhamsaniya的另一个答案相结合才是真正的解决方案。@ChrisPratt操作需要实际返回要渲染的视图,然后作为第二个参数传入模型。@mariocatch:
data\u rows
成员是一个HTML属性,而不是路由参数。OP在JS中访问此属性,然后根据需要将
id
传递给操作。@ChrisPratt我指的不是
data\u行
。我是说调用
returnpartialview(questionblocks)
可能不正确,因为我们不知道
questionblocks
的实际值。据我们所知,它可能是一个整数。很难知道这是否真的反映了他项目中的部分观点。回到小学英语:“把‘C’翻一番,把‘S’翻一番,你就会永远成功。”)这只是问题之一。这与@Nayan Dhamsaniya的另一个答案相结合才是真正的解决方案。@ChrisPratt操作需要实际返回要渲染的视图,然后作为第二个参数传入模型。@mariocatch:
data\u rows
成员是一个HTML属性,而不是路由参数。OP在JS中访问此属性,然后根据需要将
id
传递给操作。@ChrisPratt我指的不是
data\u行
。我是说调用
returnpartialview(questionblocks)
可能不正确,因为我们不知道
questionblocks
的实际值。据我们所知,它可能是一个整数。很难知道这是否真的映射到了他的项目中的局部视图。