如何使用ViewBag在mvc中添加Html Helper

时间:2012-11-05 03:14:49

标签: asp.net-mvc-3 html-helper helper viewbag

我有一个textarea,我需要在某些条件下更改输入类型。我想将此信息作为ViewBag参数发送,但我无法弄清楚如何做到这一点。我虽然在控制器中这样:

if(inputtext == 1)
  ViewBag.TextBox = @Html.TextBoxFor(m => m.Name, new { @class =\"inputtext\"})
if(inputtext == 2)
  ViewBag.TextBox = @Html.TextAreaFor(m => m.Name, new { @class =\"inputtext2\"})

我的观点如下:

@Html.Raw(ViewBag.TextBox)

但是不要工作。关于如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:0)

试试这个:

在您的控制器中:

if(A){ ViewBag.NameControlType = "textbox" }
if(B){ ViewBag.NameControlType = "textarea" }

在你的cshtml中:

@if(null != (ViewBag.NameControlType as string))
{
    if(ViewBag.NameControlType == "textbox")
    {
        Html.TextBoxFor(m => m.Name, new { @class ="inputtext"})
    }
    if(ViewBag.NameControlType == "textarea")
    {
        Html.TextAreaFor(m => m.Name, new { @class = "inputtext2")
    }
}