标签: selectlist

如何在SelectList文本描述中组合两个字段?

我想在选定的列表中标注EF模型的人名和姓氏.我试过这个:

public ActionResult Insert()
        {
            ViewData["accountlist"] = new SelectList(time.Anagrafica_Dipendente.ToList(), "ID_Dipendente", "Surname Name", null);             
            Giustificativi g = new Giustificativi();
            return View(g);
        }
Run Code Online (Sandbox Code Playgroud)

但VS返回错误,因为没有名为"姓氏名称"的属性.如何在选择列表标签中连接姓名和姓氏?

谢谢

asp.net-mvc selectlist

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

具有SelectList(s)最佳实践的ASP.NET MVC ViewModel

我注意到在NerdDinner应用程序中,如果ModelState对于晚餐无效,它只返回模型的视图:

        if (ModelState.IsValid) {
            ...
            return RedirectToAction("Details", new { id=dinner.DinnerID });
        }

        return View(dinner);
Run Code Online (Sandbox Code Playgroud)

但是,在我的应用程序中,模型(在这种情况下的视图模型)包含多个SelectLists.此时未实例化这些列表,因为此视图模型刚刚从表单提交中填充.在将此SelectLists发送回用户之前,重新填充此SelectLists的建议方法是什么?

这就是我希望我的控制器做的事情:

public ActionResult Save(MyModel model)
{
    if (ModelState.IsValid)
    {
        businessClass.Save(model);
        return RedirectToAction("Index", "Home");
    }

    // This won't work because model has uninstantiated SelectLists
    return View("MyView", model);
}
Run Code Online (Sandbox Code Playgroud)

我不想对模型发送到我的业务逻辑,如果ModelState中是无效的,但它似乎并没有什么意义放的SelectList人口代码在我的控制器.我应该在我的业务逻辑中创建一个公共方法,仅仅是为了在我的视图模型上做这种事情吗?

asp.net-mvc selectlist

14
推荐指数
2
解决办法
5449
查看次数

选定的值不适用于SelectList

我发现了许多与此问题相关的问题和答案,但对我来说没有任何作用

我正在创建一个这样的下拉列表

@Html.DropDownListFor(m => m.SchoolYears, new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId), new { @class = "field_Dropdown", style = "width:100px;",onchange="return searchStudents();" })
Run Code Online (Sandbox Code Playgroud)

(Model.CurrentYearId属于类型int)

但它永远不会让当年选中.

从这篇文章中,我得到了我们应该使用字符串来选择值(虽然我不知道为什么因为它允许对象为选定值)

DropDownList SelectList SelectedValue问题

所以我尝试了所有这些变化

new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId.ToString())

new SelectList(Model.SchoolYears, "YearId", "StartDates", 2)

new SelectList(Model.SchoolYears, "YearId", "StartDates", "2")
Run Code Online (Sandbox Code Playgroud)

但他们甚至没有工作.

有办法通过linq查询或foreach循环创建选择列表并标记每个项目的选定属性,但为什么上述不起作用?

asp.net-mvc selectlist html.dropdownlistfor

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

绑定到MVC中的SelectList

我再一次面对"这不应该是这个?*!#hard"的情况.

问题:我想在MVC中使用表单来创建对象.对象的一个​​元素是一组有限的选择 - 下拉列表的完美候选者.

但是如果我在我的模型中使用SelectList,并在我的View中使用下拉列表,然后尝试将模型发布回我的Create方法,则会收到错误"Missing Method Exception:No Parameterless constructor for this object".探索MVC源代码,似乎为了绑定到模型,Binder必须能够首先创建它,并且它不能创建SelectList,因为它没有默认的构造函数.

这是简化的代码:对于模型:

public class DemoCreateViewModel
{
    public SelectList Choice { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

对于控制器:

//
// GET: /Demo/Create

public ActionResult Create()
{
    DemoCreateViewModel data = new DemoCreateViewModel();
    data.Choice = new SelectList(new string[] { "Choice1", "Choice2", "Choice3" });
    ViewData.Model = data;
    return View();
}

//
// POST: /Demo/Create

[HttpPost]
public ActionResult Create(DemoCreateViewModel form)
{
    try
    {
        // TODO: Add insert logic here

        return RedirectToAction("Index");
    }
    catch
    {
        return View(); …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc model-binding selectlist

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

Drupal 7:Drupal 7中动态选择列表的最佳实践

Drupal 7中动态选择列表的最佳实践是什么?

  1. 通过UI创建一个带有虚拟选项的字段,并覆盖选项 hook_form_FORM_ID_alter

要么

  1. 通过自定义模块从头开始创建动态选择列表 hook_form

要么

  1. 不同的方法?

谢谢

dynamic form-api selectlist drupal-7

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

如何使用@ Html.DropDownListFor在asp.net MVC 3中为SelectList描述组合两个dataTextFields

我正在返回一些存储的联系人来查看DropDownList,我无法在我的SelectList中包含多个dataTextFields.

目前我有:

@Html.DropDownListFor(model => model.Account.AccountContacts, 
         new SelectList(ViewBag.DDContacts, "Contact.ContactID", "Contact.FirstName"),   
         new { @class = "select", style = "width: 100px;" })
Run Code Online (Sandbox Code Playgroud)

我想拥有:

@Html.DropDownListFor(model => model.Account.AccountContacts, 
        new SelectList(ViewBag.DDContacts, "Contact.ContactID", "Contact.FullName"),         
        new { @class = "select", style = "width: 100px;" })
Run Code Online (Sandbox Code Playgroud)

它结合了FirstName和LastName属性.

更新:我知道扩展联系人属性,我很好奇是否有一种简化的方法来在视图或控制器中完成此操作.我在这里尝试了两种解决方案无济于事.如何在SelectList文本描述中组合两个字段?

asp.net-mvc selectlist html.dropdownlistfor razor asp.net-mvc-3

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

在asp.net mvc中选择列表用法

我正在开发一个MVC网站,这是我公司做的第一个,我发现自己做的很多事情之一就是在控制器中创建选择列表,将它们放在viewdata中并在创建html.DropDownList时读取它们.对我来说,有些事情让我觉得有点臭.

  1. 有些页面可以重复列表(用户可以根据需要向酒店添加多个房间的酒店房间的电路板费率),目前我使用相同的选择列表,这是一个好的做法还是应该各有一个?

  2. 在前面的例子中,"room"是一个ascx,通过renderpartial或ajax调用通过jquery进行渲染.控制器传递选择列表的最佳方法是什么,以便ascx可以使用它,目前我添加到页面的viewdata,它将viewdata传递给renderpartial,但是然后在ajax调用上action方法也需要添加ascx的Viewdata选择列表,不确定这是最好的方法.

  3. 我有一个存储库,它保存这个"静态"数据并作为通用列表返回,因此每次控制器需要数据时它就会访问存储库以获取列表(除了电路板速率之外,还有一些事情,例如人员的标题,先生,夫人等等)我怀疑某种缓存会更好,因为数据很少发生变化.

有没有人在这些方面有任何建议?

asp.net-mvc caching selectlist

8
推荐指数
1
解决办法
7565
查看次数

.net MVC,SelectLists和LINQ

我是新手在MVC框架中使用Html.DropDownList,并且很难理解如何从我的数据库中选择数据以绑定到DropDownList.是否有一种从标准LINQ查询返回可绑定列表(例如SelectList)的简单方法?

linq asp.net-mvc selectlist

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

MVC DropDownList选中的值不起作用

我正在使用MVC 5.

我有我的ViewBag列表

ViewBag.TitleList = new SelectList((new string[] { "Mr", "Miss", "Ms", "Mrs" }), contact.Title);
//contact.Title has selected value.
Run Code Online (Sandbox Code Playgroud)

然后我尝试将数组转换为 SelectListItem ( to no avail)

在视图上它看起来像

@Html.DropDownListFor(model => model.Title, ViewBag.TitleList as SelectList, "Select")
Run Code Online (Sandbox Code Playgroud)

我也试过了

@Html.DropDownList("Title", ViewBag.TitleList as SelectList, "Select")
Run Code Online (Sandbox Code Playgroud)

列表加载成功但是Selected Value is Not selected.如何解决这个问题?

更新 罪魁祸首是ViewBag.Title匹配我的模型.标题.将我的模型属性重命名为其他内容并且有效.Arrgh!

c# asp.net-mvc selectlist html.dropdownlistfor asp.net-mvc-5

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

手动将SelectListItem添加到SelectList以在DropDownListFor中使用

当我创建一个SelecList时,我希望能够手动添加SelecListItem并执行此操作,我使用以下代码:

List<SelectListItem> Provinces = new List<SelectListItem>();
Provinces.Add(new SelectListItem() { Text = "Northern Cape", Value = "NC" });
Provinces.Add(new SelectListItem() { Text = "Free State", Value = "FS" });
Provinces.Add(new SelectListItem() { Text = "Western Cape", Value = "WC" });

SelectList lstProvinces = new SelectList(Provinces);
Run Code Online (Sandbox Code Playgroud)

而不是这个:

var lstProvinces = new SelectList(new[] { "Northern Cape", "Free State", "Western Cape" });
Run Code Online (Sandbox Code Playgroud)

在我创建SelectList之后,我通过ViewBag将它传递给DropDownListFor:

Html.DropDownListFor(m => m.StartPointProvince, (SelectList)ViewBag.Provinces)
Run Code Online (Sandbox Code Playgroud)

但是,当我使用第一种方法创建SelectList时,它不起作用 - 它将3个值添加到下拉列表中,但所有值显示为: 码 *输出截图

但是,当我使用第二种方法时,它工作正常.我希望使用第一种方法,因为我希望能够指定每个项目的Text AND值.

c# asp.net selectlist html.dropdownlistfor asp.net-mvc-4

8
推荐指数
3
解决办法
7万
查看次数