我见过很多网站的表现出做的方式添加在ListView项目是:如何在MVC项目从控制器
<ul>
@foreach (var customer in Model.Customer)
{
<li>@customer</li>
}
</ul>
我想要做到的是有一个列表视图这增加数据来自XML文件。
我做了一个窗口同样的事情形成卫生组织后面的代码看起来像:
XElement xRoot = ManagerHelper.XMLManager().LoadOrderXML();
var ordermodel = new OrderModel(xRoot).orders.List;
lstbxClientNameNo.Items.Clear();
foreach (var order in ordermodel)
{
lstbxClientNameNo.Items.Add(string.Format("{1} - {0}",
order.clientName, order.orderNumber));
}
但是可能有人指导我做相同的/类似的事情在一个MVC项目,我可以拉从数据模型在视图中。
我已经将模型复制到Windows窗体的MVC,我希望使用相同的数据。我在MVC上构建相同应用程序的原因是因为我试图学习MVC以及它如何工作。
我的模型看起来像:
public XElement LoadOrderXML()
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Environment.GetFolderPath(MYFORLDERPATH));
XElement xRoot = XElement.Parse(xmldoc.InnerXml);
return xRoot;
public class OrderModel
{
public Orders orders;
public OrderModel(XElement xOrder)
{
orders = new Orders(xOrder);
}
public class Order
{
public string orderNumber, clientName;
public decimal totalOrderPrice;
public Products products;
public Order()
{
}
public Order(XElement xOrder)
{
XElement xClientNumber = xOrder.Element("OrderNumber");
XElement xClientName = xOrder.Element("ClientName");
XElement xTotalOrderPrice = xOrder.Element("TotalOrderPrice");
XElement xProduct = xOrder.Element("Products");
if (xClientNumber == null) return;
orderNumber = xClientNumber.Value;
clientName = xClientName.Value;
totalOrderPrice = decimal.Parse(xTotalOrderPrice.Value);
products = new Products(xProduct);
}
public XElement ToXML()
{
var xOrder = new XElement("Order");
var xClientNumber = new XElement("OrderNumber", orderNumber);
var xClientName = new XElement("ClientName", clientName);
var xTotalOrderPrice = new XElement("TotalOrderPrice",
totalOrderPrice);
var xProducts = new XElement("Products", products);
xOrder.Add(xClientNumber);
xOrder.Add(xClientName);
xOrder.Add(xTotalOrderPrice);
xOrder.Add(xProducts);
return xOrder;
}
}
public class Orders
{
private readonly List<Order> _list;
public List<Order> List { get { return _list; } }
public Orders(XElement xAddresses)
{
_list = new List<Order>();
var xProductList = xAddresses.Descendants().ToList();
foreach (XElement ele2 in xAddresses.Descendants("Order"))
{
_list.Add(new Order(ele2));
}
}
}
老兄,什么?! “_...从视图中访问模型是一种糟糕的做法。”“模型”不会神奇地呈现。 'View'是围绕'Model'构建的,这意味着'Model'必须被“解析”,即被访问。 – 2014-08-28 11:15:01
我在看一个错误的MVC图,并且编辑了问题 – Yagzii 2014-08-28 11:23:07
您是否已经定义了一个模型?你是否想要使用winforms应用程序中使用的相同数据? – 2014-08-28 11:29:17