をソート取得できません。私はただ自分自身にC#とASPを教えるために始めている - 私は現在、リストを維持し、エントリが最新であることを保証するために、職場での簡単なWebAppのを開発しています。Entity Frameworkの中で働いて
私はそれがすべて問題なく&編集データをリンクし、その荷重を取得するために、Entity Frameworkを使用してデータベースの最初のアプローチを使用していました。
私は&検索をソート追加しようとしています。私はうまくやっていましたが、仕事の一部を取り戻さなければなりませんでした。今ではソート/検索機能が動作していません。私はどこに問題があるかを知っていると思うが、解決する手がかりはない!!運でそれを修正しようと昨日の時間を費やし
ので、私はここに私の運を試してみようと思いました。
モデルファイルの構造: モデル> Loggers.edmx> Loggers.tt> Logger_Name.cs。
public partial class Logger_Name
{
public int Serial { get; set; }
public string Friendly_Name { get; set; }
public string Site { get; set; }
public string tSiteCode { get; set; }
public string aSiteCode { get; set; }
}
picture of edmx diagram with names
コントローラ
public class LoggersController : Controller
{
private REDHHP_DEVEntities db = new REDHHP_DEVEntities();
// GET: Loggers
public ActionResult Index(string sortOrder, string searchString)
{
ViewBag.NameSortParm = sortOrder == "friendly_name_asc" ? "friendly_name_desc" : "friendly_name_asc";
ViewBag.SiteSortParm = sortOrder == "site_asc" ? "site_desc" : "site_asc";
ViewBag.CodeSortParm = sortOrder == "site_code_asc" ? "site_code_desc" : "site_code_asc";
ViewBag.SerialSortParm = sortOrder == "serial_asc" ? "serial_desc" : "serial_asc";
var loggerz = from s in db.Logger_Entity
select s;
if (!String.IsNullOrEmpty(searchString))
{
loggerz = loggerz.Where(s => s.Friendly_Name.Contains(searchString)
|| s.Site.Contains(searchString)
|| s.tSiteCode.Contains(searchString));
}
switch (sortOrder)
{
case "site_desc":
loggerz = loggerz.OrderByDescending(s => s.Site);
break;
case "friendly_name_desc":
loggerz = loggerz.OrderByDescending(s => s.Friendly_Name);
break;
case "fite_code_desc":
loggerz = loggerz.OrderByDescending(s => s.tSiteCode);
break;
case "site_asc":
loggerz = loggerz.OrderBy(s => s.Site);
break;
case "friendly_name_asc":
loggerz = loggerz.OrderBy(s => s.Friendly_Name);
break;
case "site_code_asc":
loggerz = loggerz.OrderBy(s => s.tSiteCode);
break;
case "serial_desc":
loggerz = loggerz.OrderByDescending(s => s.Serial);
break;
case "serial_asc":
loggerz = loggerz.OrderBy(s => s.Serial);
break;
default:
loggerz = loggerz.OrderBy(s => s.Site);
break;
}
return View(db.Logger_Entity.ToList());
}
私は問題はこのビットであることを強く予感を持っている:
var loggerz = from s in db.Logger_Entity
select s;
は、すべてのヘルプは大歓迎です!
が、[System.Linq.Dynamic](HTTPSを見てみましょう:// www.nuget.org/packages/System.Linq.Dynamic/) –