gpt4 book ai didi

c# - MVC 3 Dropdown 使用 ViewBag 丢失选定的值

转载 作者:太空狗 更新时间:2023-10-29 15:26:27 25 4
gpt4 key购买 nike

我在使用下拉菜单和 viewbag 时遇到问题。我在 Controller 中使用以下代码设置下拉菜单:

        applicationGuid = new Guid(form["applicationList"]);

var applications = _applicationRepository.List();

ViewBag.applicationList = new SelectList(applications, "Id", "Name", applicationGuid);

在 View 中,这完美地工作并返回先前选择的值 (applicationGuid):

 @Html.DropDownList("applicationList", "")

现在我想使用下面的代码,因为我想向下拉列表中添加一些属性:

 @Html.DropDownList("applicationList", ViewBag.applicationList as SelectList, "", new { rel = "0", @class = "required" }) 

但出于某种原因,选定的值未呈现(即使它被传递到 View ,我可以看到 selected = "true"针对 ViewBag SelectList 中的正确项目)。

上面的两个示例呈现为(这个有 selected="selected"):

<select id="applicationList" name="applicationList"><option value=""></option><option selected="selected" value="2f666645-9b28-406f-bd9f-9ecc009346a6">app1</option><option value="898cbbb5-5dff-4378-b15a-9ecc00b8242f">app2</option></select>

然后像这样(选择消失了!!):

<select class="required" id="applicationList" name="applicationList" rel="0"><option value=""></option><option value="2f666645-9b28-406f-bd9f-9ecc009346a6">app1</option><option value="898cbbb5-5dff-4378-b15a-9ecc00b8242f">app2</option></select> 

谁能解释我在这里做错了什么以及为什么它会丢失选定的值?我发现了很多关于 View 数据项的名称如何不能冲突等的帖子,但我已经用随机名称将其删除,但似乎没有任何效果!这是 MVC3 中的问题吗?

最佳答案

问题似乎是,当您将 SelectList 作为参数传递给 Html.DropDownList() 时,它不希望它与实际的下拉列表。

我复制了你的代码,遇到了和你一样的问题。

可是我一变

@Html.DropDownList("applicationList", ViewBag.applicationList as SelectList, "", new { rel = "0", @class = "required" })

@Html.DropDownList("applicationListX", ViewBag.applicationList as SelectList, "", new { rel = "0", @class = "required" })

它产生了工作输出:

<select class="required" id="applicationListX" name="applicationListX" rel="0"><option value=""></option>
<option selected="selected" value="2f666645-9b28-406f-bd9f-9ecc009346a6">app1</option>
<option value="898cbbb5-5dff-4378-b15a-9ecc00b8242f">app2</option>
</select>

我不知道为什么会这样,但这是您的解决方法。

关于c# - MVC 3 Dropdown 使用 ViewBag 丢失选定的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5816066/

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