Html.Action不起作用

时间:2015-06-04 07:51:20

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

我想将问题链接列表的部分视图带到我的编辑视图中。但是,当我选择groupby值时,它会显示以下错误。请指导我。

  

传递到字典中的模型项是类型的   ' {System.Collections.Generic.List {1}} 2 [SurveyTool.Models.SURV_Question_Ext_Model,SurveyTool.Models.SURV_Question_Model]]&#39 ;,   但是这个字典需要一个类型的模型项   ' System.Collections.Generic.IEnumerable`1 [SurveyTool.Models.SURV_Question_Ext_Model]'

修改视图:

1[<>f__AnonymousType4

控制器:

@model IFXSurveyTool.Models.SURV_Main_Model

    <div class="question">

            <h2>Link</h2>

            @Html.Action("QuestionLink", "SURV_Main", new { Survey_ID = Model.Survey_ID })

        </div>

QuestionLink视图:

 public ActionResult QuestionLink(int Survey_ID)
        {
            var query = from r in db.SURV_Question_Ext_Model
                        join s in db.SURV_Question_Model on r.Qext_Question_ID equals s.Question_ID
                        where s.Question_Survey_ID == Survey_ID
                        group new { r, s } by r.Qext_Language into grp
                        select grp.FirstOrDefault();

            return PartialView(query.ToList());
        }

2 个答案:

答案 0 :(得分:0)

请更改PartialView代码中的以下行:

@model IEnumerable<SurveyTool.Models.SURV_Question_Ext_Model>

为:

@model List<SurveyTool.Models.SURV_Question_Ext_Model>

或者在控制器中返回类型。类型需要匹配。

来自评论: 还有返回的LINQ查询组,所以它是一个非常类型,而不是你期望的那个。

答案 1 :(得分:0)

你几乎没有错误。试试这个:

@model IEnumerable<SurveyTool.Models.SURV_Question_Ext_Model>

<br />
<table class="strip">

    @foreach (var item in Model)
    {
        <tr>
            <td width="5%"></td>
            <td>
                @Html.ActionLink("Edit", "QuestionLink", "SURV_Answer", new { Language = item.Qext_Language }, null)
            </td>

    </tr>
}