use*_*273 130 c# asp.net-mvc razor
我正在尝试创建DropDownList
一个剃刀视图.
有人会帮我这个吗?
普通的HTML5代码:
<select id="dropdowntipo">
<option value="Exemplo1">Exemplo1</option>
<option value="Exemplo2">Exemplo2</option>
<option value="Exemplo3">Exemplo3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我试过这个:
@{
var listItems = new List<ListItem> {
new ListItem { Text = "Exemplo1", Value = "Exemplo1" },
new ListItem { Text = "Exemplo2", Value = "Exemplo2" },
new ListItem { Text = "Exemplo3", Value = "Exemplo3" }
};
}
@Html.DropDownListFor(model =>
model.tipo,
new SelectList(listItems),
"-- Select Status --"
)
Run Code Online (Sandbox Code Playgroud)
chr*_*dam 235
@{
List<SelectListItem> listItems= new List<SelectListItem>();
listItems.Add(new SelectListItem
{
Text = "Exemplo1",
Value = "Exemplo1"
});
listItems.Add(new SelectListItem
{
Text = "Exemplo2",
Value = "Exemplo2",
Selected = true
});
listItems.Add(new SelectListItem
{
Text = "Exemplo3",
Value = "Exemplo3"
});
}
@Html.DropDownListFor(model => model.tipo, listItems, "-- Select Status --")
Run Code Online (Sandbox Code Playgroud)
小智 68
@{var listItems = new List<ListItem>
{
new ListItem { Text = "Exemplo1", Value="Exemplo1" },
new ListItem { Text = "Exemplo2", Value="Exemplo2" },
new ListItem { Text = "Exemplo3", Value="Exemplo3" }
};
}
@Html.DropDownList("Exemplo",new SelectList(listItems,"Value","Text"))
Run Code Online (Sandbox Code Playgroud)
Gab*_*mas 39
你可以用这个:
@Html.DropDownListFor(x => x.Tipo, new List<SelectListItem>
{
new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}
})
Run Code Online (Sandbox Code Playgroud)
小智 22
//视图模型
public class RegisterViewModel
{
public RegisterViewModel()
{
ActionsList = new List<SelectListItem>();
}
public IEnumerable<SelectListItem> ActionsList { get; set; }
public string StudentGrade { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
//枚举类:
public enum GradeTypes
{
A,
B,
C,
D,
E,
F,
G,
H
}
Run Code Online (Sandbox Code Playgroud)
//控制器动作
public ActionResult Student()
{
RegisterViewModel vm = new RegisterViewModel();
IEnumerable<GradeTypes> actionTypes = Enum.GetValues(typeof(GradeTypes))
.Cast<GradeTypes>();
vm.ActionsList = from action in actionTypes
select new SelectListItem
{
Text = action.ToString(),
Value = action.ToString()
};
return View(vm);
}
Run Code Online (Sandbox Code Playgroud)
//查看动作
<div class="form-group">
<label class="col-lg-2 control-label" for="hobies">Student Grade:</label>
<div class="col-lg-10">
@Html.DropDownListFor(model => model.StudentGrade, Model.ActionsList, new { @class = "form-control" })
</div>
Run Code Online (Sandbox Code Playgroud)
Aym*_*man 11
这是最简单的答案:
在您的视图中只添加:
@Html.DropDownListFor(model => model.tipo, new SelectList(new[]{"Exemplo1",
"Exemplo2", "Exemplo3"}))
Run Code Online (Sandbox Code Playgroud)
或者 在控制器中添加:
var exemploList= new SelectList(new[] { "Exemplo1:", "Exemplo2", "Exemplo3" });
ViewBag.ExemploList = exemploList;
Run Code Online (Sandbox Code Playgroud)
而你的观点只是添加:
@Html.DropDownListFor(model => model.tipo, (SelectList)ViewBag.ExemploList )
Run Code Online (Sandbox Code Playgroud)
我和杰斯查德威克学到了这个
相信我,我已经尝试了很多选择 ,我在这里回答
但我一直在寻找最佳实践和迄今为止我所知道的前端和后端开发人员的最佳方式for loop
(是的,我不是在开玩笑)
因为当前端为您提供带有虚拟数据的UI页面时,他还在特定选择选项上添加了类和一些内联样式,因此hard to deal
使用它HtmlHelper
看看这个:
<select class="input-lg" style="">
<option value="0" style="color:#ccc !important;">
Please select the membership name to be searched for
</option>
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
</select>
Run Code Online (Sandbox Code Playgroud)
这来自前端开发人员所以最好的解决方案是使用for循环
fristly create
或get your list
在控制器动作从数据(...),并把它放在视图模型,ViewBag或什么
//This returns object that contain Items and TotalCount
ViewBag.MembershipList = await _membershipAppService.GetAllMemberships();
Run Code Online (Sandbox Code Playgroud)
其次在视图中执行这个简单的for循环来填充下拉列表
<select class="input-lg" name="PrerequisiteMembershipId" id="PrerequisiteMembershipId">
<option value="" style="color:#ccc !important;">
Please select the membership name to be searched for
</option>
@foreach (var item in ViewBag.MembershipList.Items)
{
<option value="@item.Id" @(Model.PrerequisiteMembershipId == item.Id ? "selected" : "")>
@item.Name
</option>
}
</select>
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您不会破坏UI设计,而且它简单,易用,更易读
希望这可以帮助你,即使你没有使用剃须刀
使用数组比创建列表更有效.
@Html.DropDownListFor(x => x.Tipo, new SelectListItem[]{
new SelectListItem() {Text = "Exemplo1", Value="Exemplo1"},
new SelectListItem() {Text = "Exemplo2", Value="Exemplo2"},
new SelectListItem() {Text = "Exemplo3", Value="Exemplo3"}})
Run Code Online (Sandbox Code Playgroud)
小智 6
@{
List<SelectListItem> listItems= new List<SelectListItem>();
listItems.Add(new SelectListItem
{
Text = "One",
Value = "1"
});
listItems.Add(new SelectListItem
{
Text = "Two",
Value = "2",
});
listItems.Add(new SelectListItem
{
Text = "Three",
Value = "3"
});
listItems.Add(new SelectListItem
{
Text = "Four",
Value = "4"
});
listItems.Add(new SelectListItem
{
Text = "Five",
Value = "5"
});
}
@Html.DropDownList("DDlDemo",new SelectList(listItems,"Value","Text"))
Run Code Online (Sandbox Code Playgroud)
请参阅: - 在MVC 4 razor示例中创建下拉列表
归档时间: |
|
查看次数: |
481856 次 |
最近记录: |