1

なぜこれが発生しているのかわかりません。値を設定してデバッグしましたが、コントローラーからビューに情報を渡していないだけです。これが起こっていることです

モデル:

public class QueueFilterModel
{
    public string SelectedFilter { get; set; }
    public string query { get; set; }
    public List<string> MyFilterList { get; set; } 


}

コントローラ:

[HttpGet]
    public ActionResult Queue()
    {
        QueueFilterModel model = new QueueFilterModel()
        {
            SelectedFilter = "All",
            query = "SELECT * FROM [CHAVI].[dbo].[TicketQueue]",
            MyFilterList = new List<string>()

        };
        model.MyFilterList.Add("All");
        model.MyFilterList.Add("Open");
        model.MyFilterList.Add("Closed");


        return View();
    }

意見:

@model RazorARPP.Models.QueueFilterModel
@{
ViewBag.Title = "Queue";
}

<h2>Queue</h2>


    <form action="" method="post" enctype="multipart/form-data" id="MyForm">

        Filter
        <div>
            Filter Options:
        </div>
        <div>
            @Html.DropDownList("test", new SelectList(Model.MyFilterList,Model.SelectedFilter))
        </div>


            <h3>Insert Instructions Here</h3>
                @{
                    var DB = Database.Open("CHAVI");
                    var grid = new WebGrid(DB.Query("SELECT * FROM [TicketQueue]"), null, null, 20);

                    @grid.GetHtml(
                        tableStyle: "webgrid",
                        columns: grid.Columns(
                        grid.Column(header: "Link", style: "labelcolumn", format: (item) => Html.ActionLink("Edit Item", "EditQueue", new { id = item.QueueID})),
                        grid.Column("Description", "Description"),
                        grid.Column("QueueDate", "QueueDate"),
                        grid.Column("Note", "Note"),
                        grid.Column("Status", "Status"),
                        grid.Column("LastUpdated", "LastUpdated")
                            )
                    )
                 }
    </form>

グリッド部分(およびクエリ)は正常に機能しています。問題はドロップダウンにあり、そこには何も設定されていません。何かご意見は?ありがとう。

4

2 に答える 2

1

モデルを渡して表示していませんか?

すべきではない

public ActionResult Queue()
    {
        QueueFilterModel model = new QueueFilterModel()
        {
            SelectedFilter = "All",
            query = "SELECT * FROM [CHAVI].[dbo].[TicketQueue]",
            MyFilterList = new List<string>()

        };
        model.MyFilterList.Add("All");
        model.MyFilterList.Add("Open");
        model.MyFilterList.Add("Closed");


        return View(model);
    }
于 2012-12-14T15:15:50.323 に答える
0

使用してみてください:-

public ActionResult Queue()
{
    QueueFilterModel model = new QueueFilterModel()
    {
        SelectedFilter = "All",
        query = "SELECT * FROM [CHAVI].[dbo].[TicketQueue]",
        MyFilterList = new List<string>()

    };
    model.MyFilterList.Add("All");
    model.MyFilterList.Add("Open");
    model.MyFilterList.Add("Closed");


    return View(model);
} 
于 2012-12-14T15:16:54.927 に答える