无法将switch语句放在mvc 4

时间:2016-01-19 05:06:14

标签: entity-framework asp.net-mvc-4

这是我的控制器,我有字符串数组,并通过ViewData我发送数据进行查看。

[HttpGet]
public PartialViewResult GetMeataDataDetails(int id)
{
    tr_upld_content upld1 = new tr_upld_content();
    string[] contentlabel = db.tr_doc_content.Where(x => x.doc_typeid == id).Select(x=>x.doc_contenttypelabel).ToArray();
    ViewData["passedarray"] = contentlabel;
    string[] ctrltype = db.tr_doc_content.Where(x => x.doc_typeid == id).Select(x => x.doc_ctrltype).ToArray();
    ViewData["ctrltype"] = ctrltype;
    string[] fieldtype = db.tr_doc_content.Where(x => x.doc_typeid == id).Select(x => x.doc_fieldtype).ToArray();
    return PartialView(upld1);
}

这是我的观看代码。

@model C3KYCSystem.tr_upld_content
<h2>GetMeataDataDetails</h2>
@foreach (string lbl in ViewData["passedArray"] as string[])
{
    <br />
    <tr>@lbl</tr>
}
@foreach (string crl in ViewData["ctrltype"] as string[])
{
    switch(ViewData["ctrltype"].ToString())
    {
        case "textbox":
            <td>@Html.TextBoxFor(m => m.upld_contentvalue)</td>
            break;
    }     
}

Viewdata["ctrltype"]包含文本框,多行文本框等值,如果是文本框我想获取编辑器模板等等。我想迭代每个字符串数组并检查开关内部是否匹配然后相应地渲染。此时开关没有执行。

1 个答案:

答案 0 :(得分:0)

您需要更改

Map#merge()

merge()

访问循环中的每个项目