0
私は奇妙な問題を抱えています。なぜそれがそれを実行しているのかわかりません。 MVCでASP.NETを使用しています。私は最初に働くインデックスに並べ替えを作成しました。ただし、列が昇順にソートされると、デフォルト値として使用されている列を除いて処理が停止します。つまり、私は2つの列がデフォルトの昇順と降順の並べ替えを持ち、もう1つの列は昇順と降順の並べ替えができるとしましょう。私は最初の列で昇順と降順の間を行き来することができます。しかし、2番目の列では降順でソートされ、次に昇順で並べ替えることができます。次にソートすることはできません。私は理由についての手掛かりがありません。ASP.NET MVC Sort not work
これは私のコントローラで私のインデックスです:
public ViewResult Index(string sortOrder, string currentFilter, string searchString, int? page)
{
ViewBag.CurrentSort = sortOrder;
ViewBag.ManSortParm = String.IsNullOrEmpty(sortOrder) ? "man_desc" : "";
ViewBag.ModelSortParm = String.IsNullOrEmpty(sortOrder) ? "model_desc" : "model_asc";
ViewBag.ModDescSortParm = String.IsNullOrEmpty(sortOrder) ? "ModDesc_desc" : "ModDesc_asc";
if (searchString != null)
{
page = 1;
}
else
{
searchString = currentFilter;
}
ViewBag.CurrentFilter = searchString;
var manufacturermodels = db.ManufacturerModels.Include(m => m.Manufacturer);
// var logTypes = from s in db.DeviceLogTypes
// select s;
if (!String.IsNullOrEmpty(searchString))
{
manufacturermodels = manufacturermodels.Where(s => s.Manufacturer.Manufacturer1.Contains(searchString));
}
switch (sortOrder)
{
case "man_desc":
manufacturermodels = manufacturermodels.OrderByDescending(s => s.Manufacturer.Manufacturer1);
break;
case "model_desc":
manufacturermodels = manufacturermodels.OrderByDescending(s => s.Model);
break;
case "model_asc":
manufacturermodels = manufacturermodels.OrderBy(s => s.Model);
break;
case "ModDesc_desc":
manufacturermodels = manufacturermodels.OrderByDescending(s => s.ModelDescription);
break;
case "ModDesc_asc":
manufacturermodels = manufacturermodels.OrderBy(s => s.ModelDescription);
break;
default: // Name ascending
manufacturermodels = manufacturermodels.OrderBy(s => s.Manufacturer.Manufacturer1);
break;
}
int pageSize = 20;
int pageNumber = (page ?? 1);
return View(manufacturermodels.ToPagedList(pageNumber, pageSize));
}
は、私の見解で私は、次のしている:
@using (Html.BeginForm("Manufacturers and Models", "ManufacturerModel", FormMethod.Get))
{
<p>
Find by Manufacturer: @Html.TextBox("SearchString", ViewBag.CurrentFilter as String)
<input type="submit" value="Search" />
</p>
}
<table class="table">
<tr>
<th>
@Html.ActionLink("Manufacturer", "Index", new { sortOrder = ViewBag.ManSortParm, currentFilter = ViewBag.CurrentFilter })
</th>
<th>
@Html.ActionLink("Model", "Index", new { sortOrder = ViewBag.ModelSortParm, currentFilter = ViewBag.CurrentFilter })
</th>
<th>
@Html.ActionLink("Description", "Index", new { sortOrder = ViewBag.ModDescSortParm, currentFilter = ViewBag.CurrentFilter })
</th>
<th>
</th>
<th></th>
</tr>
は、どのようなエラーが起こったか、どの部分で起こりますか? –
私にはエラーの兆候がないことがわかります –