gpt4 book ai didi

asp.net-mvc-4 - 如何在 MVC4 ViewModel、Controller、View 中使用字典?

转载 作者:行者123 更新时间:2023-12-04 17:49:38 24 4
gpt4 key购买 nike

我有一个像下面这样的 ViewModel,

public class EnrollPlanPriceLevelViewModel
{
public EnrollPlanPriceLevel EnrollPlanPriceLevels { get; set; }
public Dictionary<PriceLevel,decimal> Prices { get; set; }

}

在我的 View 中编写代码,但我无法创建价格 View 。请帮助我的人!
 @{
int i = 0;
foreach (FCA.Model.PriceLevel p in ViewBag.PriceLevelID)
{
i = i + 1;
<div class="span4">
@Html.TextBoxFor(model => model.Prices[p], new { @placeholder = "Price" })
</div>
}
}

我想如何在 Controller 中调用 Dictionary 对象值?

最佳答案

View 模型:

public class EnrollPlanPriceLevelViewModel
{

public EnrollPlanPriceLevel EnrollPlanPriceLevels { get; set; }
public Dictionary<string,decimal> Prices { get; set; }
}

我的 Controller 的 Get 方法应该像这样初始化“键”和“值”。这样您就可以在 View 中为每个 KeyValue 对循环。

Controller 的 GET 方法:
 public ActionResult Create()
{
var model = new EnrollPlanPriceLevelViewModel();
model.Prices = new Dictionary<string, decimal>();
foreach (PriceLevel p in db.PriceLevelRepository.GetAll().ToList())
{
model.Prices.Add(p.PriceLevelID.ToString(), 0);
}
return View(model);
}

像这样使用字典查看:
 <div class="span12">
@{
foreach (var kvpair in Model.Prices)
{
<div class="span4">
@Html.TextBoxFor(model => model.Prices[kvpair.Key], new { @placeholder = "Price" })
@Html.ValidationMessageFor(model => model.Prices[kvpair.Key])
</div>

}
}
</div>

Controller 的 POST 方法:呈现字典的值

enter image description here

关于asp.net-mvc-4 - 如何在 MVC4 ViewModel、Controller、View 中使用字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20343480/

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