gpt4 book ai didi

c# - 查看数据在 MVC 2 中无法正常工作

转载 作者:行者123 更新时间:2023-11-30 22:04:59 25 4
gpt4 key购买 nike

嗯,我是 mvc 的新手,我一直是这里的一大难题。我想使用 ViewData 将数据从操作方法传递到我的 View 。我在 visual studio 2008 中使用 Asp.net MVC 2.0。我知道如何使用来自操作方法的 View 数据以及如何在 View 中使用它。

Here is what i have written in my action method : - 

public ActionResult Index()
{
NorthWindEntities db = new NorthWindEntities();
var data = (from id in db.Orders
join ordid in db.Order_Details on id.OrderID equals ordid.OrderID
select new
{
orderid = id.OrderID,
productid = ordid.ProductID,
discount = ordid.Discount
}
);
ViewData["Data"] = data;
return View();
}

这是 View 中的代码:-

        <%foreach (var item in (IEnumerable)ViewData["Data"] )
{
Response.Write(item.orderId);

} %>

它给出了这样的错误..

'object' does not contain a definition for 'orderId' and no extension method 'orderId' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)

提前致谢

最佳答案

尝试以下操作(使用 View 模型是一种最佳实践...创建一个类 OrderViewModel,然后像这样用您选择的新 OrderViewModel 填充它...

namespace MyApp.ViewModels
{
public class OrderViewModel
{
public int OrderId { get; set; }

public int ProductId { get; set; }

public int Discount { get; set; }
}
}

public ActionResult Index()
{
NorthWindEntities db = new NorthWindEntities();

List<OrderViewModel> data = (from id in db.Orders
join ordid in db.Order_Details on id.OrderID equals ordid.OrderID
select new OrderViewModel()
{
OrderId = id.OrderID,
ProductId = ordid.ProductID,
Discount = ordid.Discount
}).ToList();

ViewData["Data"] = data;
return View();

然后在您的 View 页面中...

@using MyApp.ViewModels

<%foreach (var item in (List<OrderViewModel>)ViewData["Data"] )
{
Response.Write(item.orderId);
}%>

关于c# - 查看数据在 MVC 2 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24696015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com