1

ビューに渡して表示する必要がある2つの配列があります。今私は持っています:

String[] unactivePanelsHeader = new String[] {"GT5C", "GT5E", "GT5P", "GT5W"};
int[] unactivePanelsValues = new int[4];

//Values for unactivePanelsValues created with a linq query

ViewBag.unactivatedHeader = unactivePanelsHeader;
ViewBag.unactivatedPanels = unactivePanelsValues;

結果がビューに表示されます。

<table>
    <tr>
    @for (int i = 0; i < 4; i++ )
    {
        <td>@ViewBag.unactivatedHeader[i]</td>
    }
    </tr>
    <tr>
    @for (int i = 0; i < 4; i++ )
    {
        <td>@ViewBag.unactivatedPanels[i]</td>
    }
    </tr>

それは機能しますが、私はこのプラットフォームを初めて使用するので、もっと良い方法があるはずです。

4

4 に答える 4

1

2 つの配列は、ページの上部に返されるモデル内に含まれている必要があります。

例: Inherits="ViewPage<>"

もう 1 つのオプションは、PartialView で配列を渡すことです。

例: Html.RenderPartial("YourControl", new Model { x = "value1", y = "value2" } );

于 2012-09-20T13:37:19.223 に答える
1

データを渡したり表示したりする方法はいくつかあります。

それらの 1 つは、Sruly が言及したように、強く型付けされたモデルです。

これらのチュートリアルに従うか、見ることをお勧めしますhttp://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/intro-to-aspnet-mvc-4

public ActionResult ViewUnactivated()
    {
        var unactivatedViewModel= new UnactivatedViewModel{ UnactivatedHeaders = unactivatedPanelsHeaders, UnactivatedPanels = unactivatedPanelsValues };
        return View(UnactivatedViewModel);
    }

モデルプロパティをループする対応するビューを作成します

于 2012-09-20T13:37:24.427 に答える
1

ビューに必要なすべてのデータを含む、厳密に型指定されたモデル クラスを作成することをお勧めします。

次に、使用します

@Model.Property
于 2012-09-20T13:35:43.907 に答える
1

Viewbag は、表示しようとしているデータのタイプがわからないときはいつでも、主に一般的なビューで興味深いものです。型が事前にわかっている情報を表示するビューは、厳密に型指定されたビューとして作成する必要があります。すべてのビュー データのプロパティを持つモデルを作成し、コントローラーでそのモデルのインスタンスを作成して、モデルをビューに渡します。たとえば、モデルは次のようになります。

class MyModel
{
    IList<string> UnactivatedHeaders { get; set; }
    IList<int> UnactivatedPanels { get; set; }


    public MyModel
    {
        UnactivatedHeaders = new List<string>();
        UnactivatedPanels = new List<int>();
    }
}

コントローラーは、次のようにビューを呼び出します。

public ActionResult Index()
{
    var model = new MyModel();
    model.UnactivatedHeaders.Add("GT5C");
    // and so on...

    return View(model);

}

ビューでは、次のようにモデルのプロパティにアクセスできます。

@foreach(var header in Model.UnactivatedHeaders) {
<td>@header</td>
}

厳密に型指定されたビューを作成するには、まずモデルを作成し、プロジェクトを少なくとも 1 回コンパイルします。次に、ビューを作成し、「厳密に型指定されたビューを作成する」チェックボックスをマークして、下のドロップダウン リストでモデル クラスを選択します。

于 2012-09-20T13:40:52.040 に答える