作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
让我先问这个问题。
调用加载要在 View 上显示的值列表的函数的正确位置在哪里?
我创建了一个这样的 Controller
public ActionResult Create()
{
SeaModel newSea = new SeaModel();
return View("Season/CreateSea", newSea);
}
//I not quite sure if this should go here or in another place
partial class seaDataContext
{
public List<string> getSeaSettings()
{
var seaSettings = from p in settings
where p.setting == "periods"
select p.value;
return seaSettings.ToList<string>();
}
}
模型是这样的
public class SeaModel
{
[Required(ErrorMessage="*")]
[Display(Name = "Period Name")]
public string periods { get; set; }
}
创建一个像这样的 View
@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "Please correct the following errors.")
<fieldset>
<legend>Fields</legend>
<div class="editor-label">
@Html.LabelFor(model => model.periods)
</div>
<div class="editor-field">
@Html.Select(model => model.periods, ****My doubt comes here****)
@Html.ValidationMessageFor(model => model.periods)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
那么,如何以及在何处将 getSeaSettings() 的返回值传递给 View ?
谢谢
最佳答案
最佳做法是在您的模型中为此下拉列表创建一个选择列表。
但是您也可以使用更简单的选项:使用 ViewData
public ActionResult Create()
{
SeaModel newSea = new SeaModel();
ViewData["myDropDown"] = new SelectList(listOfObjects, "valueOfTheObjectLikeID", "NameYouWantToShowInDropdown");
return View("Season/CreateSea", newSea);
}
然后:
@Html.Select(model => model.periods, ViewData["myDropDown"] as SelectList)
如果验证失败,请不要忘记在 [HttpPost] 方法中也填写 View 数据,以便重建下拉列表。
关于asp.net-mvc - 如何将数据传递给 mvc asp.net 中的 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087815/
我是一名优秀的程序员,十分优秀!