gpt4 book ai didi

使用 HTMLHelper 和 "All"选择下拉列表值的 JavaScript 在 ASP .NET MVC4 中不起作用

转载 作者:行者123 更新时间:2023-11-30 05:48:17 25 4
gpt4 key购买 nike

我正在使用 JavaScript 获取 MVC 4 中下拉列表的选定值,但我认为有一个问题是由 HTMLHelper 引起的。

CONTROLLER - 填充下拉列表

private string PopulateStandard(object selectedValue = null)
{
var query = db.Database
.SqlQuery<StandardModel>(
"SELECT * FROM [DBO].[GetStandards] ('" +
User.Identity.Name + "', '" + DateTime.UtcNow + "')")
.ToList();

ViewBag.Standard = new SelectList(query, "Standard", "Standard", selectedValue);

try { return query[0].Standard; }
catch { return ""; }
}

查看

View 有这个部分用于下拉列表。请注意包含“全部”。我认为这是问题所在。这会将第一行放在下拉列表的顶部,上面写着“全部”,值为空。我要那个。到目前为止一切顺利(那又如何)

@Html.DisplayNameFor(m => m.Standard)
@Html.DropDownList("Standard", "All")

JavaScript

说来话长,但我有其他代码要求我使用 JavaScript 获取下拉列表的值,所以我这样做:

var e = document.getElementById("Standard");
var sStandard = e.options[e.selectedIndex].value;

问题

如果没有选择任何值,那么我应该得到第一行,对于文本是“All”,对于值是“”。相反,我得到了第二行,这是第一行,其中包含从数据库中填充的数据。

HTML 助手是否导致我无法获得第一行?还是我的 JavaScript 关闭了?

编辑 - 在下拉列表中显示 ViewSource

这些是呈现列表的前几行

<select id="Standard" name="Standard"><option value="">All</option>
<option value="2S">2S</option>
<option value="Aero">Aero</option>

最佳答案

@Html.DropDownList("标准", "全部")

这里“全部”是选项标签。所以你不会把它当作值(value)。

关于使用 HTMLHelper 和 "All"选择下拉列表值的 JavaScript 在 ASP .NET MVC4 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16448103/

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