这就是我想要完成的.
基本上我有Currency模型包含ID,Name,BuyValue,MidValue,SellValue,和DateCreated.
现在我想在转换器中使用它们我想出来了.它有两个下拉列表,其中第一个ddl是从哪个货币转换而第二个转换为哪个货币.常规的东西.
第一个ddl应始终包含ddl Name中的文本和BuyValue值,而第二个ddl 应始终包含Nametext和SellValuevalue.用简单的HTML术语来表达这样的东西.
<select id="ddlFirst">
<option value="BuyValue1">Name1</option>
<option value="BuyValue2">Name2</option>
...
</select>
<select id="ddlSecond">
<option value="SellValue1">Name1</option>
<option value="SellValue2">Name2</option>
...
</select>
Run Code Online (Sandbox Code Playgroud)
当然这不是它的代码,它只是澄清了上面的解释.
我在这件事上相当初学者,并且根本不知道从哪里开始.什么让我最大的是我应该以某种方式将这些值分成不同的模型并从中创建一个视图模型,或者我可以以某种方式使用它们.说实话,我很困惑,所以任何帮助表示赞赏.
UPDATE
var currencies = db.Currencies.Where(c => c.DateCreated.Equals(today));
var list = currencies.Select(s => new { s.ID, s.Name, s.BuyValue, s.SellValue }).ToList();
var model = new ConverterViewModel
{
FromValues = list.Select( x => new SelectListItem { Value = x.BuyValue.ToString(), Text = x.Name}),
ToValues = list.Select(x => new SelectListItem { Value = x.SellValue.ToString(), Text = x.Name }),
};
Run Code Online (Sandbox Code Playgroud)
这虽然空洞.:(我知道不是.
什么让我最大的是我应该以某种方式将这些值分成不同的模型并从中创建一个视图模型,或者我可以以某种方式使用它们.
是的,当然,您应该定义一个视图模型:
public class MyViewModel
{
public string From { get; set; }
public IEnumerable<SelectListItem> FromValues { get; set; }
public string To { get; set; }
public IEnumerable<SelectListItem> ToValues { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后让控制器操作填充此视图模型并将其传递给视图:
public ActionResult SomeAction()
{
var currencies = _db.Currencies.ToList();
var model = new MyViewModel
{
FromValues = currencies.Select(x => new SelectListItem { Value = x.BuyValue.ToString(), Text = x.Name }),
ToValues = currencies.Select(x => new SelectListItem { Value = x.SellValue.ToString(), Text = x.Name })
};
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
最后有一个强类型视图:
@model MyViewModel
<div>
@Html.LabelFor(x => x.From)
@Html.DropDownListFor(x => x.From, Model.FromValues)
</div>
<div>
@Html.LabelFor(x => x.To)
@Html.DropDownListFor(x => x.To, Model.ToValues)
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |