C# 遍历Multiselect列表

C# 遍历Multiselect列表,c#,asp.net-mvc,asp.net-mvc-3,model-view-controller,C#,Asp.net Mvc,Asp.net Mvc 3,Model View Controller,我有一个这样的模型: public class ArticleWriter_ViewModel { public int MagId { get; set; } public string MagNo { get; set; } public string TitleIds { get; set; } public MultiSelectList Articles { get; set; } public int[] SelectedArticles {

我有一个这样的模型:

public class ArticleWriter_ViewModel
{
    public int MagId { get; set; }
    public string MagNo { get; set; }
    public string TitleIds { get; set; }
    public MultiSelectList Articles { get; set; }
    public int[] SelectedArticles { get; set; }
}
    ArticleWriter_ViewModel viewModel = new ArticleWriter_ViewModel();
        Func<IQueryable<NumberTitle>, IOrderedQueryable<NumberTitle>> orderByFunc = null;
        Expression<Func<NumberTitle, bool>> filterExpr = null;
        if (id > 0)
        {
            filterExpr = p => p.MagazineId.Equals(id);
        }
        var wholeTitles = unitOfWork.NumberTitleRepository.Get(filterExpr, orderByFunc, "Magazine,Title").ToList();
我这样填写文章:

public class ArticleWriter_ViewModel
{
    public int MagId { get; set; }
    public string MagNo { get; set; }
    public string TitleIds { get; set; }
    public MultiSelectList Articles { get; set; }
    public int[] SelectedArticles { get; set; }
}
    ArticleWriter_ViewModel viewModel = new ArticleWriter_ViewModel();
        Func<IQueryable<NumberTitle>, IOrderedQueryable<NumberTitle>> orderByFunc = null;
        Expression<Func<NumberTitle, bool>> filterExpr = null;
        if (id > 0)
        {
            filterExpr = p => p.MagazineId.Equals(id);
        }
        var wholeTitles = unitOfWork.NumberTitleRepository.Get(filterExpr, orderByFunc, "Magazine,Title").ToList();
ArticleWriter_ViewModel ViewModel=新建ArticleWriter_ViewModel();
Func orderByFunc=null;
表达式filterExpr=null;
如果(id>0)
{
filterExpr=p=>p.MagazineId.Equals(id);
}
var wholeTitles=unitOfWork.NumberTitleRepository.Get(filterExpr,orderByFunc,“杂志,标题”).ToList();

然后将其传递给视图。在一些视图中,我在DropDownListFor中显示文章,但在其他视图中,我希望在DisplayFor中显示文章。我如何迭代文章以在DisplayFor中显示?

在项目的
视图\DisplayTemplates
目录中创建一个名为ArticleWriter\u ViewModel.cshtml的显示模板(如有必要,创建文件夹),如下所示(Razor语法):

您可以根据需要更改DisplayFor表达式中引用的属性和/或添加表达式以筛选项目列表

如果要为显示样板指定其他名称,请使用模型名称上的UIHint注释来指定样板名称:

[UIHint("MyTemplate")]
public class ArticleWriter_ViewModel
{...}

也许你需要一个显示模板你能给我一些关于它的更多信息吗?如果你想使用Html.DisplayFor(x=>x.PropertyName),属性是一个复杂的类型,添加一个属性[UIHit]并创建一个显示模板,只需看hanselman的博客