加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MVC 3 – 脚手架下拉列表

发布时间:2020-12-16 04:25:13 所属栏目:asp.Net 来源:网络整理
导读:我正在玩 Asp.net mvc中的Scaffolding 我的国家视图模型中有一个属性 public IEnumerableSelectListItem Countries { get; set; } 然而,当我创建一个视图并指定viewmodel时,它并没有像我预期的那样支持一个下拉列表.实际上它完全被忽略了. 我在编写之前编译
我正在玩 Asp.net mvc中的Scaffolding

我的国家视图模型中有一个属性

public IEnumerable<SelectListItem> Countries { get; set; }

然而,当我创建一个视图并指定viewmodel时,它并没有像我预期的那样支持一个下拉列表.实际上它完全被忽略了.

我在编写之前编译了该项目

我也试过添加这样的属性

public int CountryId { get; set; }

正如本文所说,有一项公约在起作用

http://blog.stevensanderson.com/2011/01/28/mvcscaffolding-one-to-many-relationships/

我正在使用右键单击控制器操作方法时的“添加”视图选项

有什么想法有什么不对?

解决方法

在我目前的项目中,我遇到了这个问题,并且找不到一种快速的方法来支持我的一个实体内的一对多关系的下拉列表.

我最终做的是如下:

1-创建正常的AddView =>创建方式.

2-如果我在我的模型类中有一个ID属性,则defaul; t模板将生成类似这样的内容以在我的视图中表示此属性:

<div class="editor-label">
                @Html.LabelFor(model => model.CityID)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => model.CityID)
                @Html.ValidationMessageFor(model => model.CityID)
</div>

3-现在我需要用一个工作的模板替换这个默认模板,所以我在CREATE方法中编写了这段代码:

IEnumerable<SelectListItem> cityItems = dataContext.Cities.AsEnumerable().Select(c => new SelectListItem()
            {
                Text = c.Name,Value = c.ID.ToString(),Selected = false,});
            SelectList cityList = new SelectList(cityItems,"Value","Text");
            ViewBag.CityList = cityList;

这将获取Cities表并创建一个Selectlist,我可以将其传递给我的视图并使用它来为DrobDown提供它的项目.

4-将我的视图中的默认代码替换为如下所示:

<div class="Post-label">
                        <div class="editor-label">
                            @Html.LabelFor(model => model.CityID)
                        </div>
                        <div class="editor-field">
                          @Html.DropDownListFor(m => m.CityID,ViewData["CityList"] as SelectList)
                            @Html.ValidationMessageFor(model => model.CityID)
                        </div>
</div>

我使用ViewData [“CityList”]而不是ViewBag.CityList的原因是这个有效,但另一个没有.

5-现在我的视图正在查找并且正在按照我的预期获取City数据,并且在我的Edit视图中使用相同的模型也导致了一个工作.

试一试,让我知道发生了什么,谢谢.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读