我花了几年时间大部分时间都在使用经典的asp,我终于试图进入.net世界。我有多项需要帮助的项目。
1)创建视图中有一个下拉列表。现在它填充了表中的所有记录,但只显示其中一些记录。我有一个存储过程通常用于填充下拉列表,但不知道如何在代码中更改它以使用该过程。该过程的类显示
namespace AMS_MVC.Models
{
using System;
public partial class usp_ListRoles_Result
{
public byte RoleID { get; set; }
public string RoleName { get; set; }
}
}
这是控制器现在使用实体
生成的(由visual studio生成)ViewBag.RoleID = new SelectList(db.Roles, "RoleID", "RoleName");
2)我不希望列表中的第一项是默认项,我更喜欢让第一项说“&34; Make Selection"并没有价值。因此,管理用户不会犯错误,并且忘记做出选择,将人分配给错误的角色。
3)我需要在下拉列表中添加一个onChange事件。根据所选角色,可能会显示其他选项。例如,如果选择部门经理的角色,则应显示部门的下拉列表,如果选择了区域经理的角色,则会显示地区列表等。在一个选项中,位置部门经理应显示两者部门列表以及地点列表。
在经典的asp中,onchange事件调用了我编写的javascript函数,它显示了正确的隐藏div。
请大家,我一直在看这个网站上的一个星期的许多不同的例子,以及google和bing搜索提供的其他例子,他们没有帮助。如果您想要做的只是指向别人的问题,回答类似但不完全正在寻找的内容,那么请不要提供链接,因为它对我没有帮助。
答案 0 :(得分:1)
在MVC中,DropDownListFor
类有一个HtmlHelper
方法。只需将它与您的模型属性(必须是List<T>
类型)
@Html.DropDownListFor(m => m.Field, Model.List, new { @id = "id", @class = "css-class" })
,其中m.Field
是模型中存储所选值的属性,Model.List
是显示项的列表。也可以使用&#34;经典的asp&#34;
答案 1 :(得分:1)
谢谢。这回答了我关于将onchange事件添加到列表的问题的第3部分。
original code
@Html.DropDownList("RoleID", null, htmlAttributes: new { @class = "form-control" })
new code
@Html.DropDownList("RoleID", null, htmlAttributes: new { @class = "form-control", @onchange="displayOptions(this.value)"})
对于第2部分,如何在列表的开头添加另一个选项,我感到难过
What I need the drop down to show for first option
也是经典的asp我不是指asp.net我的意思是asp 3.0,它与asp.net完全不同。