2

@html.textboxmvc3 で in コントローラーを有効または無効にするにはどうすればよいですか?

私のテキストボックスコード:

@Html.TextBox("txtIden1")

ボタンをクリックした後、コントローラーでテキストボックスを無効または有効にするにはどうすればよいですか。

以下のように、コントローラーにボタンクリックイベントコードを書きました

@using(Html.BeginForm())
{
@Html.TextBox("txtCustomerFilter");
}

<button name="button" value="Submit">Save</button>&nbsp;
<button name="button" value="cancel">Cancel</button>

コントローラ:

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Customer(string button,
         customer customerInsert, FormCollection formvalues)
{
  if(button == "Submit")
  {
    //Code
  }
  else
  {
    //Code
  }

  return View();
}
4

1 に答える 1

3

ビューモデルを使用することをお勧めします:

public class CustomerViewModel
{
    public string Button { get; set; }
    public string Filter { get; set; }
    public bool Disabled { get; set; }

    ... some other properties that will represent the customer
        details
}

その後:

public ActionResult Customer()
{
    var model = new CustomerViewModel();
    return View(model);
}


[HttpPost]
public ActionResult Customer(CustomerViewModel model)
{
    if(model.Button == "Submit")
    {
        model.Disabled = true;
        //Code
    }
    else
    {
        //Code
    }

    return View(model);
}

そして、強く型付けされたビューを持っています:

@model CustomerViewModel
@using (Html.BeginForm())
{
    @Html.TextBoxFor(
        x => x.Filter, 
        Model.Disabled ? new { @readonly = readonly } : null
    )

    <button name="button" value="Submit">Save</button>
    <button name="button" value="cancel">Cancel</button>
}
于 2012-06-13T05:57:37.780 に答える