4

次のようなコントローラーアクションがあります

public ActionResult OpenForm()
{
    return View("Index");
}

そして、私のビューは次のとおりです[Index.cshtml]

@model BusinessProcess.Models.HelloworldTO
@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)

    @Html.DisplayNameFor(model => model.Response_Borrower)
    @Html.EditorFor(model => model.Response_Borrower)
}

問題は、「編集」と「表示」の両方に同じビューを使用していることです。特定の状況下では、ユーザーがデータを「表示」して変換することだけを望んでい@Html.EditorForます@Html.DisplayFor。別のビューを作成せずにそれを行う方法はありますか?

4

2 に答える 2

2

モデル:

public class HelloworldTO()
{
   public bool Edit {get; set;}
}

意見:

@model BusinessProcess.Models.HelloworldTO
@if (Model.Edit)
{
   @using (Html.BeginForm())
   {
      @Html.ValidationSummary(true)

      @Html.DisplayNameFor(model => model.Response_Borrower)
      @Html.EditorFor(model => model.Response_Borrower)

   }
}
else
{
    @Html.DisplayFor(model => model.Response_Borrower)
 }

コントローラ

public ActionResult OpenForm()
{
    HelloworldTO model = new HelloworldTO ();
    model.Edit = /*certain circumstances*/;
    return View("Index", model);
}
于 2013-07-23T11:15:40.710 に答える
-1

モデル

  public class Model1
{
    public bool SameView { get; set; }

    public bool Response_Borrower { get; set; }


}

意見

@model CodeProjectAnswers.Models.Model1

@if (Model.SameView) {

// Do what you want 

} else { // 表示用のコード

}

コントローラーでは、以下のようなものがあります

  public ActionResult Sample()
    {

        Model1 model = new Model1();

        if (model.SameView)
        {
            // Set it to false and what is ur condition 
        }
        else
        {
            model.SameView = true;
        }

        return View("Sample", model);


    }
于 2013-07-23T12:35:19.503 に答える