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

asp.net – asp .net mvc 4下拉列表

发布时间:2020-12-16 03:29:18 所属栏目:asp.Net 来源:网络整理
导读:我正在使用带有EF的VS2012 MVC 4.我想创建一个视图,用户可以上传电影标题和类型(actionmovie,scifi等来自下拉列表!),并将其存储在数据库中. 模型: public class Movie{ [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int Id { g
我正在使用带有EF的VS2012 MVC 4.我想创建一个视图,用户可以上传电影标题和类型(actionmovie,scifi等来自下拉列表!),并将其存储在数据库中.

模型:

public class Movie
{
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public string Name { get; set; }

    [ForeignKey("Type")]
    public int TypeId { get; set; }

    public virtual Type Type { get; set; }
}

public class Type
{
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int TypeId { get; set; }

    public string TypeName { get; set; }

    public virtual ICollection<Movie> Movies { get; set; }
}

如果我是对的,我成功地在Type和Movie表之间创建了One to Many关系.

控制器:

[HttpPost]
    [Authorize]
    public ActionResult NewMovie(Movie movie)
    {
        db.Movies.Add(movie);
        db.SaveChanges();
        return View(movie);
    }

视图:

@using (Html.BeginForm())
    {
        <table>
            <tr>
                <td>@Html.DisplayNameFor(model => model.Name)</td>
                <td>@Html.DisplayNameFor(model => model.TypeId)</td>
            </tr>
            <tr>
                <td>@Html.TextBoxFor(model => model.Name)</td>
                <td>@Html.DropDownListFor.........
            </tr>
        </table>
        <input type="submit" value="submit" />
    }

我真的不知道如何在视图中制作这个Dropdownlist,并以最安全的方式在控制器中为其制作具体细节
(我想我应该从movie.typeid或Type类中创建一个列表/可枚举)

如果你能帮帮我,我会很高兴的!谢谢

解决方法

我将List用于我的下拉列表.这样做就可以在控制器上构建这样的列表

List<SelectListItem> ls = new List<SelectListItem>();
foreach(var temp in Movies){
    ls.Add(new SelectListItem() { Text = temp.Text,Value = temp.Value });
}
Movie.MovieList = ls;

您只能将一个模型传递给视图.从你的代码中你传递的是电影模型

public List<SelectListItem> MovieList { get; set; }

在你的模型中.然后在视图中,您可以像这样构建下拉列表

@Html.DropDownListFor(x => x.Id,Model.MovieList)

如果您有任何疑问,请告诉我.

(编辑:李大同)

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

    推荐文章
      热点阅读