![](/img/trans.png)
[英]Show Field with Asterick if Bool value is true in Razor View
[英]group by value with 2 different value and show in Razor view
我有2個問題列表,其中1個問題有2種語言,如果有的話,我想為該問題行顯示2種Action Link語言。 但是我不知道如何連續顯示另一種語言。 我只能顯示一種語言。
有提示或指導嗎?
db.SURV_Question_Model數據:
__________________________________________
Survey ID | Question_ID | Qext_Text |
==========================================
1 | 1 | Q1 |
2 | 2 | Q2 |
==========================================
db.SURV_Question_Ext_Model數據:
___________________________________________________
| Quext_Question_ID | Qext_Text | Qext_Language |
===================================================
| 1 | Q1 | ENG |
| 1 | Q1 | GER |
| 2 | Q2 | ENG |
===================================================
我想在Razor視圖中顯示的內容:
__________________________________________________
Quext_Question_ID | Qext_Text | Qext_Language |
===================================================
1 | Q1 | ENG | GER |
2 | Q2 | ENG |
===================================================
我的控制器:
public ActionResult SURV_Main_Details_QuestionList(int Survey_ID)
{
List<QuestionLinkListViewModel> viewmodel = new List<QuestionLinkListViewModel>();
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_Question_ID into grp
select grp.FirstOrDefault();
foreach (var item in query)
{
viewmodel.Add(new QuestionLinkListViewModel()
{
Survey_ID = Survey_ID,
Question_ID = item.r.Qext_Question_ID,
QuestionText = item.r.Qext_Text,
Languages = item.r.Qext_Language,
});
}
return PartialView(viewmodel);
}
我的剃刀視圖:
@using (Html.BeginForm())
{
<table class="strip">
for (int i = 0; i < Model.Count(); i++)
{
<tr>
<td></td>
<td width="70%">
@Model[i].QuestionText
</td>
<td>
@Html.ActionLink(Model[i].Languages, "SURV_Question_Edit", "SURV_Question", new { Question_ID = Model[i].Question_ID, Languages = Model[i].Languages }, new { @class = "popup-link2" })
@Html.Raw(" ")
@Html.ActionLink(Model[i].Languages2, "SURV_Question_Edit", "SURV_Question", new { Question_ID = Model[i].Question_ID, Languages = Model[i].Languages2 }, new { @class = "popup-link2" })
</td>
</tr>
}
</table>
}
我通過在查詢中添加查詢來修復它:
public ActionResult SURV_Main_Details_QuestionList(int Survey_ID)
{
List<QuestionLinkListViewModel> viewmodel = new List<QuestionLinkListViewModel>();
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_Question_ID into grp
select grp.FirstOrDefault();
foreach (var item in query.ToList())
{
var queryLang = 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 r.Qext_Question_ID == item.r.Qext_Question_ID
select s;
if (queryLang.Count() == 1)
{
viewmodel.Add(new QuestionLinkListViewModel()
{
Survey_ID = Survey_ID,
Question_ID = item.r.Qext_Question_ID,
QuestionText = item.r.Qext_Text,
Languages = item.r.Qext_Language,
Languages2 = " "
});
}
else if(queryLang.Count() == 2)
{
viewmodel.Add(new QuestionLinkListViewModel()
{
Survey_ID = Survey_ID,
Question_ID = item.r.Qext_Question_ID,
QuestionText = item.r.Qext_Text,
Languages = "ENG",
Languages2 = "GER"
});
}
}
return PartialView(viewmodel);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.