может кто-нибудь подумать, почему я не получаю желаемый результат, когда я нажимаю ссылку на детали? я получаю ошибку: The model item passed into the dictionary is of type 'System.Collections.Generic.List1[AW_Internet.Models.ProdList]', but this dictionary requires a model item of type 'AW_Internet.Models.ProdList'.
MVC 4 Детали страницы разобраны 2 id's
Контроллер:
public ActionResult Details(int id1 = 0, int id2 = 0)
{
string test = "SELECT SalesLT.Product.ProductID, SalesLT.ProductDescription.ProductDescriptionID, SalesLT.Product.Name, SalesLT.Product.ListPrice, LEFT(SalesLT.ProductDescription.Description, 20) as Descrption FROM SalesLT.Product, SalesLT.ProductDescription, SalesLT.ProductModelProductDescription WHERE SalesLT.Product.ProductModelID = SalesLT.ProductModelProductDescription.ProductModelID AND SalesLT.ProductModelProductDescription.ProductDescriptionID = SalesLT.ProductDescription.ProductDescriptionID AND SalesLT.Product.ProductID = " + id1 + " AND SalesLT.ProductDescription.ProductDescriptionID = " + id2;
var viewModel = db.Database.SqlQuery<ProdList>(test).ToList();
if (viewModel == null)
{
return HttpNotFound();
}
return View(viewModel);
}
ViewModel:
public class ProdList
{
public int ProductID { get; set; }
public int ProductDescriptionID { get; set; }
public string Name { get; set; }
public decimal ListPrice { get; set; }
public string Description { get; set; }
}
Подробнее Вид:
@model AW_Internet.Models.ProdList
@{
ViewBag.Title = "Details";
}
<h2>Prod Details</h2>
<div class="displayField">
@Html.DisplayFor(model => model.ProductID)
</div>
<div class="displayField">
@Html.DisplayFor(model => model.ProductDescriptionID)
</div>
<div class="displayField">
@Html.DisplayFor(model => model.Name)
</div>
<div class="displayField">
@Html.DisplayFor(model => model.ListPrice)
</div>
<div class="displayField">
@Html.DisplayFor(model => model.Description)
</div>
<p>
@Html.ActionLink("Back to List", "Index")
</p>
И фрагмент из моего индекса с будучи двумя идентификаторами разобран:
<td>
@Html.ActionLink("Details", "Details", new { id1 = item.ProductID, id2 item.ProductDescriptionID })
</td>
Это решило его спасибо! Будет ли это такой же способ для редактирования результата действия? Просто перейдя к опросу запроса к обновлению – Chris
Вы должны вернуться на ту же модель, что и на вашем представлении. На вашем примере вы вернули «Список», и вы просматриваете использование 'ProdList' –