我有一个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)
但是不要工作。关于如何做到这一点的任何想法?
答案 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")
}
}