如何在if语句切换大小写的基础上更改此变量声明

时间:2016-03-22 05:09:28

标签: c#

我在“_sharedView.cshtml”中有以下代码:

var modelStuff = controller == "A" ? Model.AStuffs : Model.BStuffs;
@foreach (var c in modelComment)
{
    <span>@c.Content</span>
}

模特

public class A
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }    
    public virtual List<AStuff> AStuffs { get; set; }
}

AStuff模型

public class AStuff
{
    [Key]
    public int Id { get; set; } 
    public int AId { get; set; }
    public string Content { get; set; }
    public virtual A A { get; set; }
}

控制器

return PartialView("_sharedView",model);

Bstuff与Astuff(模型,控制器)基本相同。

如何更改上面的代码以切换案例?

更新 模型根据什么模型传递来查看。

更新 添加更多细节。

1 个答案:

答案 0 :(得分:2)

试试这个。将var更改为IEnumerable,并确保您的AStuffBStuff等实施此界面。

IEnumerable modelStuff = null;
switch (controller)
{
    case "A":
        modelStuff = Model.AStuff;
        break;
    case "B":
        modelStuff = Model.BStuff;
        break;
    default:
        // do stuff what should be done here
}

if (modelStuff != null)
    foreach (var s in modelStuff)
    {
        //do stuff
    }