【发布时间】:2018-12-24 00:36:57
【问题描述】:
我在这个问题上苦苦挣扎了很长时间。 我希望我的 selectListItem 的值在控制器中使用它来进行正确的 API 调用。
这就是我的剃须刀代码:
var selectList = new SelectList(
new List<SelectListItem>
{
new SelectListItem {Text = "Borussia Dortmund", Value = "10303", Selected= false},
new SelectListItem {Text = "FC Bayern München", Value = "10285", Selected= false},
new SelectListItem {Text = "Bayer 04 Leverkusen", Value = "10281", Selected= false},
.
.
.
}, "Value", "Text", 1);
@Html.DropDownList("ddlChosenTeam", selectList, "Team wählen", new { @class = "css-class" })
}
如果我在控制器中尝试以下操作,它不知道 selectList:
protected void SquadChosen_Click(object sender, EventArgs e)
{
int selectedSquad = selectList.SelectedValue;
}
如果选择“多特蒙德”,我只想选择像10303这样的值,请注意安全。
编辑: 我写了一些其他代码,这可能是我需要的更多。 我现在的控制器:
public SelectList UserChosenSquad()
{
var ssl = new SelectList(new List<SelectListItem>
{
new SelectListItem {Text = "Borussia Dortmund", Value = "10303", Selected = false},
new SelectListItem {Text = "FC Bayern München", Value = "10285", Selected = false},
new SelectListItem {Text = "Bayer 04 Leverkusen", Value = "10281", Selected = false},
}, "Value", "Text");
return ssl;
}
模型:
public class ChosenSquad
{
public string Text { get; set; }
public string Value { get; set; }
public bool Selected { get; set; }
}
现在我在视图中挣扎
@model ChosenSquad
@{ @Html.DropDownListFor(model => model.Text, Model.SelectListItem, "Text", "-Team wählen-")
这是正确的方法吗? 我需要显示 DropDownList,然后像以前一样显示值,我首先想查看我的列表,然后可能使用查找所选项目的 if 方法获取值,对吧!?
【问题讨论】:
-
为什么要在视图中创建和定义变量?这一切不应该在控制器/模型中完成吗?
-
我不止一次听说过,我想我同意你的看法,但我构建了 3 个 selectLists 只是为了尝试任何事情来获得价值。我把这个寄到这里只是随机的^^
-
见下面的答案。应该是你想要的
标签: c# razor selectlist selectlistitem