При попытке привязать модель к представлению я получаю ошибку 404. ActionResult называется SortDesc, но представление является стандартным представлением «Index». Я понимаю, что это не загрузка, потому что теперь есть вид, называемый «SortDesc». Однако у меня есть две кнопки для сортировки данных по возрастанию и одна для сортировки данных, следовательно, две отдельные функции. Я просто не уверен, какое лучшее решение будет здесь, либо продолжить с двумя отдельными функциями, и каким-то образом перейти в правильное представление для загрузки или создать новую единую функцию HttpPost в индексе, которая будет знать, какая кнопка была нажата и сортировать соответственно. Вот код, который я до сих пор:Проблемы с привязной моделью для просмотра
Модели:
public class NumberSetList
{
public int NumberSetListId { get; set; }
public List<NumberList> Numbers { get; set; }
public string SortOrder { get; set; }
}
public class NumberList
{
public int NumberListId { get; set; }
public int Number1 { get; set; }
public int Number2 { get; set; }
public int Number3 { get; set; }
public int Number4 { get; set; }
public int Number5 { get; set; }
public string SortOrder { get; set; }
}
Razor:
@{
ViewBag.Title = "csi media web test";
}
<div class="jumbotron">
<h1>csi media web test</h1>
<p class="lead">Liane Stevenson</p>
</div>
<div class="row">
<div class="col-md-12">
<div class="panel panel-info">
<div class="panel-heading"><i class="glyphicon glyphicon-arrow-right"></i> Enter Your Four Numbers</div>
<div class="panel-body">
<form class="form-inline">
<div class="col-md-9">
<div class="form-group">
<label class="sr-only" for="number1">1st Number</label>
<input type="number" class="form-control" id="number1" name="Number1" placeholder="#1">
</div>
<div class="form-group">
<label class="sr-only" for="number2">2nd Number</label>
<input type="number" class="form-control" id="number2" name="Number2" placeholder="#2">
</div>
<div class="form-group">
<label class="sr-only" for="number3">3rd Number</label>
<input type="number" class="form-control" id="number3" name="Number3" placeholder="#3">
</div>
<div class="form-group">
<label class="sr-only" for="number4">4th Number</label>
<input type="number" class="form-control" id="number4" name="Number4" placeholder="#4">
</div>
</div>
<div class="col-md-3 text-right">
<a class="btn btn-default" href="@Url.Action("SortDesc", "Home")"><i class="glyphicon glyphicon-arrow-down"></i> Sort Desc</a>
<a class="btn btn-default" href="@Url.Action("SortAsc", "Home")"><i class="glyphicon glyphicon-arrow-down"></i> Sort Asc</a>
</div>
</form>
<p>
@if (Model != null)
{
foreach (int number in Model.Numbers)
{
<span class="label label-info">@number</span>
}
}
</p>
</div>
</div>
</div>
</div>
Главная Контроллер:
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult SortDesc([Bind(Include = "Number1, Number2, Number3, Number4")] NumberSetList model)
{
if (!ModelState.IsValid)
{
return View();
}
else
{
NumberSetList list = new NumberSetList();
List<int> numbers = new List<int>();
numbers.Add(model.Number1);
numbers.Add(model.Number2);
numbers.Add(model.Number3);
numbers.Add(model.Number4);
numbers.OrderByDescending(i => i);
list.SortOrder = "Desc";
return View(list);
}
}
В действии, переменная 'numbers' не назначен ни к чему. Как будет воспринято мнение об этом? Вам нужно установить 'list.numbers = число,' – Nkosi
Это выдает ошибку: Серьезность \t \t Код Описание \t \t Project File \t \t Line Подавление Государственный Ошибка \t \t CS0029 Не удается неявно преобразовать тип «System.Collections.Generic.List 'to' System.Collections.Generic.List '\t CSIMediaASPTest –
Мой плохой. да, царапины. пропустил «Список' –
Nkosi