gpt4 book ai didi

c# - 为什么这个下拉列表没有完成它应该做的事情?

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

我在 asp.net 中有一个下拉列表,在 View 中使用嵌套 for 循环,以及我已经使用的变量从 Controller 传递。向用户显示的值应该是车站的名称,该值是该车站的 ID。名称和站点 ID 都在我从 Controller 传递到 View 的列表中。但是,当显示下拉列表时,第一个停靠点名称将在整个列表中重复。我知道正在选择正确的停靠站 ID,但名称重复。这是我的代码:

 <select id="stop" onchange="sendInfo();">

@foreach(var blah in ViewBag.foobar)
{
foreach (var foo in ViewBag.stops)
{
<option value="@foo">@blah</option>
}
}
</select>

foo 是正确使用的站点 id,但 blah 是站点名称的名称,重复了。我觉得我已经很接近了,但还没有完全实现。我希望这足够清楚,解释起来很困惑。

最佳答案

试试这个:

        @{
if(ViewBag.foo != null && ViewBag.blah != null && ViewBag.foo.Count == ViewBag.blah.Count)
{
for (int i = 0; i < ViewBag.foo.Count; i++ )
{
<option value="@ViewBag.foo[i]">@ViewBag.blah[i]</option>
}
}
}

另外,还有一些提示:

  1. 对相关数据使用两个列表是不合适的。为什么你没有一个单一的属性,比如 Dictionary<string, string>
  2. fooblah不是他们的真名,对吗?
  3. 避免使用 ViewBag用于与功能相关的数据(例如创建控件,就像您正在做的那样)。对于这种情况,首选创建专门的 View 模型

关于c# - 为什么这个下拉列表没有完成它应该做的事情?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12186191/

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