[英]Get result from Linq Query
我正在嘗試檢查IsAdmin是否為true,這是一個問題。 如果為true,則在gridview EditItemTemplate中選中一個復選框。
查詢是在gridview處於編輯模式下並且正在編輯的用戶已經是admin時。需要檢查checkBox是否為true,因為如果他們更新行並且未選中該復選框,則他們不再是admin。
我在想的是查詢應該能夠做到這一點。 但是不確定如何實現IsAdmin == true。
private void LoadGridEdit()
{
using (dbDataContext _db = new dbDataContext())
{
var result = from u in _db.tbl_Users
where u.Deleted == false
select new
{
u.UserId,
u.UserName,
u.Email,
u.IsAdmin,
u.tbl_ServiceArea.ServiceArea,
};
if ()
{
//???? or foreach?
}
// Bind Here
}
}
我已經看過並嘗試了不同的選擇,但不確定。
您是否嘗試過在GridView模板中使用CheckBox,並將其Checked屬性設置為綁定到IsAdmin值,類似這樣:
<asp:CheckBox ID="chbIsAdmin" runat="server" Checked='<%# Bind("IsAdmin") %>' />
編輯:
抱歉,我剛剛讀到有關管理員意外刪除其特權的信息。 如果我在引導中,則不會發生這種情況。 管理員無法刪除自己的特權。 這樣可以確保至少有1個管理員。
此LinQ查詢將返回IEnumerable
對象,您可以使用foreach
語句枚舉它。
像這樣:
var result = _db.tbl_Users.Where(u=> u.Deleted == false).Select(e=> new
{
u.UserId,
u.UserName,
u.Email,
u.IsAdmin,
u.tbl_ServiceArea.ServiceArea,
}.ToList();
foreach(var res in result)
{
if(res.IsAdmin)
{
// Do SOmething
}
}
抱歉,但是我不喜歡類似sql的linq,所以我這樣寫。 希望對您有所幫助。
result
將通過包含屬性IsAdmin
對象返回IEnumerable
。 如果要對具有IsAdmin == true
每個元素執行操作,請執行以下操作:
var resultsWithAdminIsTrue = from r in result
where r.IsAdmin
select r;
foreach (var r in resultsWithAdminIsTrue)
{
/* Do action */
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.