我有以下LINQ查詢工作正常:過濾結果集LINQ查詢
var comps = (from c in tc.companies
join r in tc.registry
on c.Key equals r.Key
select new { FieldValue=r.FieldValue, Name=c.Name, Company=c.Company,Industry=c.Industry,Rank=c.Rank});
現在我想查詢只返回那些記錄,fieldValue方法等於從TextBox1的
提交的值我曾嘗試:
var comps = (from c in tc.companies
join r in tc.registry
on c.Key equals r.Key
where r.FieldValue==TextBox1
select new { FieldValue=r.FieldValue, Name=c.Name, Company=c.Company,Industry=c.Industry,Rank=c.Rank});
return View(comps);
和
var comps = (from c in tc.companies
join r in tc.registry
on c.Key equals r.Key
where r.FieldValue==TextBox1
select new { FieldValue=r.FieldValue, Name=c.Name, Company=c.Company,Industry=c.Industry,Rank=c.Rank});
comps=comps.Where(x => x.FieldValue== TextBox1);
return View(comps);
但既不返回任何數據。我究竟做錯了什麼?
更新:
public ActionResult Index(string TextBox1)
{
if (TextBox1 != null)
{
var comps = (from c in tc.companies
join r in tc.registry
on c.Key equals r.Key
where r.FieldValue==TextBox1
select new { FieldValue=r.FieldValue, Name=c.Name, Company=c.Company,Industry=c.Industry,Rank=c.Rank});
return View(comps);
}
}
解決了!答案在下面!不是我認爲的 - 在查詢中反轉表格順序。有趣的PAF-R是,不管沒有過濾器的查詢工作表順序的
也許你應該比較'r.FieldValue'到'TextBox1.Text'? 「TextBox1」是整個控件,而不是文本框中的值。 「TextBox1.Text」是包含輸入到文本框中的值的屬性。 – squillman
TextBox1不是整個控件,而是一個字符串值 - 我將它傳遞給我的控制器的索引動作 – ElenaDBA
作爲一個良好的約定,使用「==」進行字符串比較通常會[frowned upon](http:// stackoverflow的.com /問題/ 814878/C鋒利差和 - 等於間)。首選的方法是String.Equals。 *可能會導致你的問題... – bvoyelr