2016-11-23 3 views
2

ASP.Netにある古いアプリケーションのASP.Net MVC(初心者)で新しいアプリケーションを開発していますが、これをMVCの新しいコードに変換するにはどうすればよいですか?divをMVCコントローラのIdでどのように使用しますか?

HTML:

<div runat="server" id="dvLogList"></div> 

は.cs:

dvLogList.InnerHtml = sb.ToString() 

私はあなたが道に従うことによって、これを行うことができdvLogListinnerhtml

答えて

4

このビューを呼び出すあなたのコントローラのアクションで。私のコントローラで

class DisplayModel 
{ 
    public string str { get; set; } 
} 

私は私の見解にこのモデルを渡します:

例として、私はモデルを持っている

public ActionResult Display() 
{ 
    DisplayModel model = new DisplayModel 
    { 
     str = sb.ToString() 
    } 

    return View(model); 
} 

次のステップは、私の見解は強く型付けされたようにすることです。これを可能にするには、この行をトップに追加するには

最後に、なぜこのようにしていますか? これは、データをコントローラにポストバックする必要がある場合があるため、ビューバックの使用に比べて利点があります。あなたのビューからの値はあなたのモデルに自動的にバインドされました(あなたのアクションでモデルを宣言した場合)。あなたのビューで

さらに知識を
// model is automatically populated 
public ActionResult Save(DisplayModel model) 
{ 
} 

、ViewDataを(またはViewBag)を利用して、私はあなたのコントローラでは、この答えStrongly Typed Views

0

ようにStringBuilder追加stringhtmlコードを設定する必要があります。

public ActionResult Index() 
    { 
      ViewBag.HTMLContent = "your HTML Content"; 
      return View(); 
    } 

Index.cshtmlビューで:あなたはあなたのビューを強く型付けされた可能

<div id="dvLogList"> 
     @Html.Raw("@ViewBag.HTMLContent") /*assuming your content is HTML content not just string*/ 
</div> 
+0

'エラー:Index.cshtml –

+0

編集中の文字literal'であまりにも多くの文字が!二重引用符を使用してください! –

1

を改善するために多くの時間を割くことができない、このリンクを読ん

ViewData["dvLogList"] = "whatever content you want"; 

必要に応じてViewDataを呼び出すことができます:

<div id = "dvLogList" > 
     @(new HtmlString(ViewData["dvLogList"].ToString())) 
</div> 

希望彼の助けになる。コードの下

0

用途:

//Controller Action 

    public ActionResult Index() 
      { 
        ViewBag.HTMLContent = "Your HTML Data"; 
        return View(); 
      } 

    //View page code 

<div id="dvLogList"> 
    @Html.Raw((String)ViewBag.HTMLContent) 
</div> 
関連する問題