2017-07-12 19 views
-1

ユーザーが選択したソート基準に従ってデータリストの結果をドロップダウンリストと、私はこのエラーを取得しています:このエラーを解決する方法:割り当て、呼び出し、増分、減分、および新しいオブジェクト式のみをステートメントとして使用できます。

Only assignment, call, increment, decrement, and new object expressions can be used as a statement

私は同様の質問で、このサイト上で多くの記事を読みましたが、私の理解は私に見つけたのソリューションを関連付けるためにはまだ十分ではありません特定の問題。

このインスタンスでこのエラーが発生する理由とその修正方法を誰でも説明できますか?

マイHtmlのビュー

 @Html.DropDownList("SortParm", Model.ReverseMonthsLists(), 
      new { @onchange = "CallChangefunc(this.value)" }) 
     <script> 
     function CallChangefunc(sortKey) { 
     window.location.href = "/dashboard/Report_Performance?id=" + sortKey; 
     } 
     </ script > 

マイコントローラー

public ActionResult Report_Performance(string id, string sortKey) 
{ 
    DateTime newDate = DateTime.Now.Date.AddMonths(-1); 
    if (id != null) 
     newDate = DateTime.Parse(id); 
    var aVar = Models.Reporting.ListingStatsReportingViewModel.GetStats(userCurrentService.CompanyId.Value, Models.Reporting.DateTimePeriod.Monthly, newDate); 
    aVar.CurrentListingStats.OrderByDescending<>; //<- PROBLEM IS HERE 
    ViewBag.SelectedItem = id; 
    ViewBag.SortParm = sortKey; 
    return this.View(aVar); 
} 

はノー成功を収めてコントローラにこれらのステートメントのそれぞれを試してみました:

 //aVar.CurrentListingStats.OrderBy<>; 
     //aVar.CurrentListingStats.OrderBy<sortKey>; 
     //aVar.CurrentListingStats.OrderBy < Models.Reporting.ListingStatsReportingViewModel.GetStats(userCurrentService.CompanyId.Value, Models.Reporting.DateTimePeriod.Monthly, sortKey); 
     //aVar.CurrentListingStats.OrderByDescending<>; 
+0

として文のようにこれを使用します** **アヴァール内のデータを取得することができますか? –

+0

はい。 aVarの宣言文はデータを取得します。 – csharpMind

+0

aVarのタイプは何ですか?または... GetStatsの戻り値の型は何ですか? – Sparrow

答えて

0

利用

var aVar = Models.Reporting.ListingStatsReportingViewModel.GetStats(userCurrentService.CompanyId.Value, Models.Reporting.DateTimePeriod.Monthly, newDate); 
aVar.CurrentListingStats.OrderByDescending(x=>x.sortKey); 

あなたはLINQの式になるようlembda式を使用すると、その上のキー値データのパラメータを必要とすることに並べ替え適用するときに、その後、統計(aVar.CurrentListingStats)のリストを持っているアヴァール変数にデータをfatchとしてデータをソートするためにカラム名を指定する必要があることを示すソートが行われます。上記の質問のユーザーのように

はない方法

+0

このコードを読んでいただきありがとうございます。すぐに役立つかもしれません。適切な説明は、なぜこれが問題の良い解決策であるのかを示すことによって、その教育的価値を大幅に向上させるでしょう(https://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)。類似しているが同一ではない質問を持つ将来の読者にとって、より有用なものにする。説明を追加するためにあなたの答えを編集し、どのような制限と前提が適用されるかを示してください。 – basvk

+0

私を正しい方向へ連れていただきありがとうございます。あなたの提案によれば、私はlembdaとLinqで読んだことがあり、次のコードが使えます:aVar.CurrentListingStats = aVar.CurrentListingStats.OrderBy(i => i.Make).ToList(); – csharpMind

関連する問題

 関連する問題