0

viewからにメッセージを表示する必要がありますcontroller。これが私のコードです。

見る

@Html.LabelFor // How do i write the rest to display the message

コントローラ

public ActionResult Index(MyModel model)
    {

        // I Need to send a String to the Label in the View

        return View();
}
4

3 に答える 3

1

間違いなく、より洗練された解決策は、少なくとも必要な場合は、強く型付けされたビュー (モデル - MVC の M) を使用することです。簡単な例は次のとおりです。

モデル:

public class MessageViewModel
{
    public string Message {get; set;}
}

コントローラー:

public ActionResult Index()
{
    var viewModel = new MessageViewModel {Message = "Hello from far away"};
    return View(viewModel);
}

景色:

@model MyNamespace.MessageViewModel

<h2>@Html.DisplayFor(model => model.Message)</h2>

ページ上の単一のメッセージに対してこれを気にしますか? 驚いたことに、ほとんどの場合、そうします。ビューには、何を期待するか (およびその逆) を正確に把握している点、Intellisense のサポート、およびあらゆる種類の暗黙的な書式設定を実行できるHtmlHelper'sメソッドについてエレガントな点があります。DisplayFor()


そうは言っても、「最も簡単な」(読み: 素早く汚いが、醜い速さになる) 解決策は、メッセージをViewBag動的オブジェクトに詰め込むことです。

コントローラーで:

ViewBag.MyMessage = "Hello from a far away place";

ビューで:

@ViewBag.MyMessage

しかし、これを行うと、Intellisense、再現性 (DRY)、そしておそらく正気を失います。おそらく、1 つの場所で使用される 1 つのプロパティ (デフォルトの_Layout ViewBag.Titleページが使用するもの)。切断されたオブジェクトがバッグに詰め込まれています。ありがとうございます。

于 2013-02-18T17:21:23.123 に答える
0

コントローラーでViewbagまたはviewdataを使用できます

    public ActionResult Index()
    {
       ViewData["listColors"] = colors;
        ViewData["dateNow"] = DateTime.Now;
        ViewData["name"] = "Hajan";
        ViewData["age"] = 25;;

        ViewBag.ListColors = colors; //colors is List
        ViewBag.DateNow = DateTime.Now;
        ViewBag.Name = "Hajan";
        ViewBag.Age = 25;
        return View(); 
    }
<p>
    My name is 
    <b><%: ViewData["name"] %></b>, 
    <b><%: ViewData["age"] %></b> years old.
    <br />    
    I like the following colors:
</p>
<ul id="colors">
<% foreach (var color in ViewData["listColors"] as List<string>){ %>
    <li>
        <font color="<%: color %>"><%: color %></font>
    </li>
<% } %>
</ul>
<p>
    <%: ViewData["dateNow"] %>
</p>
于 2013-02-18T17:19:41.913 に答える
0
public ActionResult Index(MyModel model)
{

        ViewBag.Message = "Hello World";

        return View();
}

あなたの見解

<h1>@ViewBag.Message</h1>
于 2013-02-18T17:21:09.597 に答える