2

特定の条件で入力タイプを変更する必要があるテキストエリアがあります。この情報を 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)

しかし、働かないでください。これを行う方法についてのアイデアはありますか?

4

1 に答える 1

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")
    }
}
于 2012-11-05T06:06:25.083 に答える