标签: selectlist

使用枚举在ASP.NET MVC中填充SelectList

我的数据层中有一个枚举,我想在我的网站项目中使用它的下拉列表.我在数据层中的枚举是:

namespace SME.DAL.Entities.Enums
{
    public enum EntityState
    {
        Open,
        Freezed,
        Canceled,
        Completed,
        Terminated,
        ReadOnly
    }
}
Run Code Online (Sandbox Code Playgroud)

如何制作其选择列表并在我的网站页面中使用它?我正在使用ASP.NET MVC 4.

asp.net asp.net-mvc enums selectlist

6
推荐指数
1
解决办法
1万
查看次数

有人解释我Html.DropDown,它是最亲密的朋友SelectList

如果你查看我之前的问题,你可能已经注意到我没有得到SelectList和Html.DropDown().我觉得这很吸引人,我似乎是唯一一个这样的人.所以也许我应该尝试改变我的心态,或者也许有些事我不知道会清除这一切.我真的很喜欢整个MVC框架,但SelectList并不想让我满意.所以这是我的清单:

的SelectList

  • 为什么我不能在实例化后设置选定的值
  • 为什么我不能通过项目索引设置selectedValue
  • 为什么selectedvalue有时是一个字符串,有时是我放入它的类,有时候是ListItem
  • 为什么这些项目只能通过GetItems()访问
  • 为什么selectedItem和listItems的类型不匹配?
  • 为什么放在列表中的项目转换为listItem而selectedItem不是?
  • 为什么我不能在没有GetItems()方法的情况下得到项目的计数

Html.DropDownList()

  • 为什么不使用模型绑定
  • 当只有一个选项时,为什么没有违约选择的行为
  • 为什么不在源selectLIst中创建一个SelectedValue项使其成为标记项

在ppl建议我自己编写之前:
由于这将与MVC产品一起提供,我宁愿对基本控件进行正式支持,然后自行推出并拥有随之而来的所有麻烦.

asp.net-mvc selectlist drop-down-menu

5
推荐指数
1
解决办法
2059
查看次数

ASP.net MVC:在视图或动作中创建SelectList?

我只是想知道人们在动作或视图中创建他们的SelectList的位置.

我已经看到了两者的例子,对我来说最有意义的是在动作中执行它并且视图模型具有SelectList类型的属性.

另一方面,我已经看到人们有视图模型具有SelectList属性的示例,并且ViewList在视图模型中填充(在构造函数中或通过延迟加载).我喜欢这个想法,因为这意味着我的行动中的代码更少......

总之,我只是想知道人们在做什么.

干杯安东尼

asp.net-mvc mvvm selectlist viewmodel automapper

5
推荐指数
1
解决办法
6090
查看次数

如何编写C#Extension方法将Domain Model对象转换为Interface对象?

当您有一个需要显示为接口控件的域对象时,如下拉列表,ifwdev建议创建一个扩展方法来添加.ToSelectList().

原始对象是具有与下拉列表的.Text和.Value属性相同的属性的对象列表.基本上,它是SelectList对象的List,而不是同一个类名.

我想你可以使用反射将域对象转换为接口对象.任何人对C#代码都有任何建议吗?SelectList是SelectListItem的MVC下拉列表.

当然,想法是在视图中做这样的事情:

<%= Html.DropDownList("City", 
         (IEnumerable<SelectListItem>) ViewData["Cities"].ToSelectList() )
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc domain-driven-design selectlist selectlistitem

5
推荐指数
1
解决办法
2237
查看次数

使用来自MVC 2中手动定义的SelectListItems的SelectList渲染问题

我正在使用ASP.NET MVC 2(.NET 3.5),需要手动定义什么是选项列表.当我这样做时,我得到一个下拉菜单,每个手册条目读取'System.Web.Mvc.SelectListItem'.

我的视图模型定义了这样的列表:

    public SelectList YesNoList
    {
      get
      {
        List<SelectListItem> tmpList = new List<SelectListItem>();
        tmpList.Add(new SelectListItem {Text = "", Value = ""});
        tmpList.Add(new SelectListItem {Text = "Yes", Value = "1"});
        tmpList.Add(new SelectListItem {Text = "No", Value = "0"});
        YesNoList = new SelectList(tmpList,"");
      }
      private set{}
     }
Run Code Online (Sandbox Code Playgroud)

在视图中,我使用Html.DropDownList引用它:

Html.DropDownList("FieldName", viewmodel.YesNoList);
Run Code Online (Sandbox Code Playgroud)

我期望在最终网页上呈现的内容应该是:

<select id="FieldName" name="FieldName">
  <option value=""/>
  <option value="1">Yes</option>
  <option value="0">No</option>
</select>
Run Code Online (Sandbox Code Playgroud)

相反,我得到:

<select id="FieldName" name="FieldName">
  <option>System.Web.Mvc.SelectListItem</option>
  <option>System.Web.Mvc.SelectListItem</option>
  <option>System.Web.Mvc.SelectListItem</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我很茫然,因为我无法弄清楚为什么返回类型所以如果有人能指出我对viewmodel定义有什么问题,或者指出更好的方法,我会很感激.我对从C#类集合派生SelectList犹豫不决,因为SelectList将提供迭代遍历值和显示文本的一致方式.

在此先感谢,希望有人可以提供帮助.

干杯,

Ĵ

c# model-view-controller selectlist asp.net-mvc-2

5
推荐指数
1
解决办法
5914
查看次数

填写最近5年的选择列表

我怎么能在它创建一个清单,在过去5年,如几年20112007.我不想硬编码这些年,但我希望最近的5年基于当年.

c# selectlist asp.net-mvc-3

5
推荐指数
1
解决办法
3065
查看次数

根据选择值显示字段

我有以下挑战.

我有一个参赛表格,人们可以添加新的参赛作品,一旦获得批准,他们也可以编辑.挑战在于根据选择隐藏特定字段.当用户添加新条目时,他们必须选择特定类别.基于此,一些字段被隐藏.

这是我到目前为止使用的代码:

<select name="entry.parent" size="1" style="width: 360px;" id="SPCatChooserSl" class="required">
<option value="">Selecteer categorie</option>
<option  selected="selected" value="55">- Option 1</option>
<option value="59">- Option 2</option>

</select>

<div id="option1">
<p>Hier comes option 1</p>
</div>
<div id="option2">
<p>Here comes option 2</p>
</div>

<script>
jQuery(function() {
jQuery('#option1').hide();
jQuery('#option2').hide();
 });

jQuery(function() {
jQuery("#SPCatChooserSl").change(function() {
    if (this.value == '55') {
        jQuery('#option1').show();
    } else {
        jQuery('#option1').hide();
    }
    if (this.value == '59') {
        jQuery('#option2').show();
    } else {
        jQuery('#option2').hide();
    }
    });
     });
   </script>    
Run Code Online (Sandbox Code Playgroud)

这在用户仍然必须选择类别时有效.它根据选择隐藏字段.

但是,当用户编辑条目时,该类别已被选中,可能不会更改.因此,DIVS option1和Option2被隐藏,并且由于用户没有选择类别,因此div将永远不可见.

所以问题是:如何检查选择列表中的特定值,显示正确的字段而不使用.

我希望我的问题/挑战是明确的:)

提前致谢!!!!!!!

jquery selectlist

5
推荐指数
1
解决办法
1582
查看次数

在Grails选择列表上设置选项键和值?

我目前正在处理Grails应用程序,我正在寻找页面上的选择列表,并将其Key设置为一个值,将Value设置为另一个值.所有相关元素的代码如下:

域对象:

class Cars {
  String carType
  String car
}
Run Code Online (Sandbox Code Playgroud)

控制器:

def create() {
  List cars = Cars.list()
  [dealerInstance: new Dealer(params), cars: cars]
  render(text:"This site in curently under Maintainence!")
}
Run Code Online (Sandbox Code Playgroud)

视图:

<g:select name="cars.id" from="${cars}" optionKey="${carType}" optionValue="${car}"/>
Run Code Online (Sandbox Code Playgroud)

现在,当我运行此代码时,列表确实已填充,但数据如下所示:

<select id="cars.id" name="cars.id">
  <option value="com.app.Cars : 1">com.app.Cars : 1</option>
  <option value="com.app.Cars : 2">com.app.Cars : 2</option>
  <option value="com.app.Cars : 3">com.app.Cars : 3</option>
</select>
Run Code Online (Sandbox Code Playgroud)

然后当我尝试这个:

视图:

<g:select name="cars.id" from="${cars.car}" optionKey="${carType}" optionValue="${car}"/>
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

<select id="cars.id" name="cars.id">
  <option value="Audi">Audi</option>
  <option value="BMW">BMW</option>
  <option value="Scoda">Scoda</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这不是我想要的,我希望能够在此选择列表上设置不同的键值对,以便我可以在我的应用程序中使用该数据,我希望生成以下内容:

<select id="cars.id" …
Run Code Online (Sandbox Code Playgroud)

grails key key-value selectlist

5
推荐指数
1
解决办法
2万
查看次数

将选择列表值分配给数组

我在脚本中初始化了一个数组

var listarray = new Array(); 
Run Code Online (Sandbox Code Playgroud)

并有一个动态创建的选择列表---

<select multiple size=6 width=150 style="width:150px" name="ToLB" >
</select>
Run Code Online (Sandbox Code Playgroud)

我的问题是如何将选择列表的所有值分配给数组.提前致谢.

html javascript arrays selectlist

5
推荐指数
2
解决办法
3万
查看次数

ng-options选择列表值设置为我选择的id并使用ng-model正确绑定它

使用angular我想创建一个选择列表,其值带有我选择的id(对象的实际id属性),我想用ng-model指令正确绑定它.

这是我尝试过的:

<select ng-model="selectedPersonId"                 
ng-options="p.id as p.name for p in People track by p.id"></select>

$scope.People = [
    { name : "Fred", id : 1 },
    { name : "Joe", id : 2 },
    { name : "Sandra", id : 3 },
    { name : "Kacey", id : 4 },
    { name : "Bart", id : 5 }
];

$scope.setTo1 = function(){
    $scope.selectedPersonId = 1;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/b7dyadnr/

这里选择选项值是正确的值(值是人的人的id),文本是正确的.但绑定不起作用,所以如果我设置$ scope.selectedPersonId的值,选择不会反映在列表中.

我知道我可以让它像这样工作:

<select ng-model="selectedPersonId"                 
ng-options="p.id as p.name for p in People"></select>
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/rgtbn2f5/

它工作我可以设置$ …

javascript selectlist angularjs angularjs-ng-options

5
推荐指数
1
解决办法
6188
查看次数