gpt4 book ai didi

asp.net-mvc - 如何将数据传递给 mvc asp.net 中的 View ?

转载 作者:行者123 更新时间:2023-12-02 07:12:47 24 4
gpt4 key购买 nike

让我先问这个问题。

调用加载要在 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/

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