我希望我能正确解释一下...... 我想要做的是建立一个包含产品列表的会话数组。 然后将这些显示在文本框中的表格上,旁边有分位数,并且能够提交它们。我想我需要使用模板编辑器。但我不知道如何将数据放入项目列表中。
这是我的会话变量当前正在填充的方式..
IList<EnqProduct> items2 = Session["enquiry"] as IList<EnqProduct>;
desc = desc.Replace(",", "");
EnqProduct item = new EnqProduct();
item.Id = (items2.Count + 1).ToString();
item.Product = desc;
item.Quantity = "0";
items2.Add(item);
所以desc,可以是productone,product two等。
询问产品型号:
namespace MvcEditorTemplates.Models
{
public class EnqProduct
{
public string Id { get; set; }
public string Product { get; set; }
public string Quantity { get; set; }
}
}
普通查询模式:
public class Enquiry
{
public List<EnqProduct> EnqProduct { get; set; }
}
我如何尝试填充模型,但这是静态的。我需要从数组项中填充它:
var EnquiryModel = new Enquiry {
EnqProduct = items2.Select(c => new EnqProduct()
{
Quantity = c.Quantity,
Product = c.Product
})
};
查询产品模板视图:
@model MvcEditorTemplates.Models.EnqProduct
<div class="fl">
<p>
@Html.LabelFor(x => x.Product)
@Html.TextBoxFor(x => x.Product)
</p>
<p>
@Html.LabelFor(x => x.Quantity)
@Html.TextBoxFor(x => x.Quantity)
</p>
</div>
这就是我试图让它在视图中显示的方式:
@Html.EditorFor(model => model.EnqProduct)
编辑:
在items2.Select(c => new EnqProduct()
我收到关于演员的IEnumerbale错误?
答案 0 :(得分:1)
尝试这样的事情:
public class ErrorMessage
{
public DateTime ErrorDate { get; set; }
public string ErrorText { get; set; }
public int DexRowId { get; set; }
}
public class Transaction
{
public string TransactionType { get; set; }
public string Processed { get; set; }
public DateTime UpdateDate { get; set; }
public int DexRowID { get; set; }
public string Text { get; set; }
}
public class Result
{
public List<ErrorMessage> errorMessageList { get; set; }
public List<Transaction> transactionList { get; set; }
}
在您的控制器中:
List<Transaction> transactionList = ...;//query to populate your list;
List<ErrorMessage> errorMessageList = ...;//query to populate your list;
Result result = new Result();
result.ErrorMessageList = errorMessageList;
result.TransactionList = transactionList;
return View(result);
并在您看来:
@model Models.Result
@{
ViewBag.Title = "Result";
Layout = "~/Views/Shared/_ResultLayout.cshtml";
}
编辑:
@model IENumerable<MvcEditorTemplates.Models.EnqProduct>
@{
foreach( EnqProduct ep in @model)
{
.... your code comes here.........
}
}