在ASP.NET MVC 2中,我想写一个非常简单的下拉列表,它给出了静态选项.例如,我想提供"红色","蓝色"和"绿色"之间的选择.
我有一个模特:
public class DbUserRole
{
public int UserRoleId { get; set; }
public string UserRole { get; set; }
}
public class DbUserRoles
{
public List<DbUserRole> GetRoles()
{
BugnetReports RoleDropDown = new BugnetReports();
List<DbUserRole> Roles = new List<DbUserRole>();
DataSet table = RoleDropDown.userRoleDropDown();
foreach (DataRow item in table.Tables[0].Rows)
{
DbUserRole ur = new DbUserRole();
ur.UserRole = Convert.ToString(item["UserRoleName"]);
ur.UserRoleId = Convert.ToInt32(item["UserRoleID"]);
Roles.Add(ur);
}
return Roles;
}
}
Run Code Online (Sandbox Code Playgroud)
这是加载视图的Controller:
//
// GET: /Admin/AddNewUser
public ActionResult AddNewUser()
{
DbUserRoles Roles = new DbUserRoles();
return …
Run Code Online (Sandbox Code Playgroud) 我DropDownListFor
在我的MVC3应用程序中遇到了麻烦.我能够使用StackOverflow来弄清楚如何让它们出现在View上,但现在我不知道在提交时如何捕获视图模型中相应属性中的值.为了使其工作,我必须创建一个具有ID和value属性的内部类,然后我必须使用a IEnumerable<Contrib>
来满足DropDownListFor
参数要求.但是,现在,MVC FW应该如何将在此下拉列表中选择的值映射回我的视图模型上的简单字符串属性?
public class MyViewModelClass
{
public class Contrib
{
public int ContribId { get; set; }
public string Value { get; set; }
}
public IEnumerable<Contrib> ContribTypeOptions =
new List<Contrib>
{
new Contrib {ContribId = 0, Value = "Payroll Deduction"},
new Contrib {ContribId = 1, Value = "Bill Me"}
};
[DisplayName("Contribution Type")]
public string ContribType { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在我的视图中,我将下拉列表放在页面上,如下所示:
<div class="editor-label">
@Html.LabelFor(m => m.ContribType)
</div>
<div class="editor-field">
@Html.DropDownListFor(m => m.ContribTypeOptions.First().ContribId,
new …
Run Code Online (Sandbox Code Playgroud) 我有一个要求,我必须使用bootstrap自动完成下拉列表,但用户可以在该下拉列表中有自由格式文本,如果他们愿意.在你想预输入,我可以用引导预输入文本框,但我需要有下拉becasue我们希望给的情况下,用户的一些默认值作为领先地位的选择不知道该怎么寻找.
我在MVC DropDownListFor中使用它,因为它为我们创建了一个选择控件.
我发现这篇文章对我有用.
https://github.com/danielfarrell/bootstrap-combobox/pull/20
我所要做的就是从选择控件中取出名称,控件让我输入自由格式文本.到目前为止都很好.
现在,我和Knockoutjs一起使用它.我结合我的选择和选择的值来选择控制,然后上呈现我的模板的行,我打电话(选择器).combobox(),这使得所述选择控制的自举comobobox并增加了一个输入控制并隐藏在场景选择控制背后.
现在的问题是当我试图让他的值发布到服务器时,因为我输入框中的值不是我给选择控件的选项中的有效选项,所以默认情况下始终将其设置为第一个选项.这是因为,我在select控件上设置了所选值的绑定,而不是在bootstrap-combobox.js创建的输入框上.
我的问题是如何让输入框数据绑定到与select控件绑定的相同的属性.
还有其他选择吗?如果您需要更多说明或有疑问,请与我们联系.请建议.
谢谢.
combobox autocomplete html.dropdownlistfor twitter-bootstrap knockout.js
如果下拉列表没有选定值,是否有办法包含默认的空选项(或文本)?
在阅读了有关如何使用Razor Views在MVC 3中创建DropDown列表的100篇文章后,我找不到适合我的情况.
情况: 我最终尝试创建一个将员工添加到数据库的视图.
这是我正在使用的.EDMX模型的图像(create()将使用的表.):
目标:
创建一个Employee(我有使用部分视图为StaffNotify复选框创建的Create.cshtml(强类型)){我在创建视图的Notify部分视图中使用单独的@model,不确定这是否安全??? @model ShadowVenue.Models.Employee&@model ShadowVenue.Models.StaffNotify)
为StaffTypeId创建一个下拉框(它将从表"StaffType"中插入[StaffTypeId]值(其具有1对多的关系),但会在下拉列表中显示[Type]字符串值)
为GenderId创建一个下拉框(将从表"Genders"中插入[GenderId]值(具有1对多的关系),但会在下拉列表中显示[Gender]字符串值)
将记录插入数据库(我在StaffId主键上具有1对1关系的单独表中具有员工通知)
我似乎遇到了控制器代码的问题.
我不确定我是否应该在EDMX模型中创建存储过程,或者提出一些查询或方法语法,不确定哪种方法最好.
这是我使用实体框架模型的第一个大型MVC3应用程序.
(如果您需要知道任何导航属性名称以帮助解决方案,请告诉我,我会将它们提供给您)
entity-framework edmx html.dropdownlistfor razor asp.net-mvc-3
我正在使用MVC,我仍然是MVC的新手.任何人都可以告诉我你是否可以用下一个下拉列表选择的数据填充下拉列表.
我想使用Jquery来避免回发,从而使页面更流畅.
我想构建一个空的Dropdownlistfor以获得之前Dropdownlisfor选择的结果:
实际观点:
<div id="makes">
@Html.DropDownListFor(m => m.Make_Id, Model.MakeList, HeelpResources.DropdownlistMakeFirstRecord)
</div>
<div id="models">
@Html.DropDownListFor(m => m.Model_Id, Model.ModelList, HeelpResources.DropdownlistModelFirstRecord)
</div>
Run Code Online (Sandbox Code Playgroud)
实际的控制器(工作我必须建立一个空的SelectedList,但似乎很奇怪必须这样做):
public virtual ActionResult Create()
{
// Build the Dropdownlist for the Makes
var makesDto = _makeService.ListAllMakes();
var makesViewModel = Mapper.Map<IList<MakeDto>, IList<MakeViewModel>>(makesDto);
// Build the Dropdownlist for the Models
var makeId = -1;
var modelsDto = _modelService.ListModelByMake(makeId);
var modelsViewModel = Mapper.Map<IList<ModelDto>, IList<ModelViewModel>>(modelsDto);
// Build the ViewModel to return to the View
CreateAdViewModel viewModel = new CreateAdViewModel();
viewModel.MakeList = new SelectList(makesViewModel, "ID", "Name"); …
Run Code Online (Sandbox Code Playgroud) 我正在尝试为dropdownlist触发onchange事件的动作方法,如何在不使用jquery onchange的情况下执行此操作.
@Html.DropDownList("Sortby",
new SelectListItem[]
{
new SelectListItem() { Text = "Newest to Oldest", Value = "0" },
new SelectListItem() { Text = "Oldest to Newest", Value = "1" }})
Run Code Online (Sandbox Code Playgroud)
谢谢
问题:我需要创建一个这样的下拉列表:
<select id="ddCustomers" data-placeholder="Choose a customer" class="chzn-select" style="width:350px;" tabindex="1" multiple>
Run Code Online (Sandbox Code Playgroud)
现在我可以像这样添加自定义属性:
@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled" })
Run Code Online (Sandbox Code Playgroud)
不幸的是,如果变量名中有" - ",那么它就不会编译.
@Html.DropDownListFor(m => m.Id, Model.Values, new { @disabled = "disabled", @data-placeholder = "whatever" })
Run Code Online (Sandbox Code Playgroud)
那么多重,没有属性值呢?
如果我传递Dictionary或NameValueColletion而不是new { @disabled = "disabled" }
,则它输出NameValueColletion/Dictionary的属性...
如何在属性键中传递带有特殊字符的属性?
asp.net-mvc ×5
c# ×5
razor ×3
asp.net ×2
html-select ×2
autocomplete ×1
combobox ×1
edmx ×1
html ×1
knockout.js ×1
view ×1