0

mvc 2010 Expressを使用してc#でアプリケーションを作成しています。コードを選択するためのドロップダウン リストを含むビューが 1 つあります。ユーザーを別のビュー (ビュー) にリダイレクトし、別のドロップダウン リストを使用して市場を選択します。Filter

次に、ユーザーが選択したコードと市場に応じて、そのコードと市場に存在するすべての国の表が表示されます。(1 つの市場には多くの国があり、毎年、国ごとに少なくとも 1 つの分析 (コードで定義) があります)。

ビュー に非表示の要素を追加しました。Filter

@{
    string code= ViewBag.code;
}

<script type="text/javascript">
$(function () {
    $("#Market").change(function () {
    var actionUrl = $('#TheForm1').attr('action') + '/' + $('#Market').val();
        $('#TheForm1').attr('action', actionUrl);
        $('#TheForm1').submit();
    });
});
</script>

@using (Html.BeginForm("FilterAnMark", "Inform", FormMethod.Post, new { id = "TheForm1"})){
    @Html.DropDownList("Market", (SelectList)ViewBag.mar, "Select a market")
    @Html.Hidden("code", code)
}

Informコントローラ:

public ActionResult Filter(string id)
{
    ViewBag.code = id;
    var merc = from a in dre.v_AnalysisCountry
               where a.Code == id
               select a;
    var query1 = merc.Select (a => new { a.Code,a.Market}).Distinct().OrderBy(a => a.Market);
    ViewBag.mar = new SelectList(query1.AsEnumerable(), "Market", "Market");
    return View();
}

public ActionResult FilterMarket(string id, string code)
{
    var countries = new FilterManager().ObtainAnMarket(code, id);
    return View(countries);
}

次に、この次のビュー ( FilterMarket) でWebGrid、国を表示する ために a を使用します。

@model IEnumerable<AlianzasIntranet.Models.DB.v_AnalysisCountry>

@{
    WebGrid grid = new WebGrid(Model, defaultSort: "Market", rowsPerPage: 15);
}

@grid.GetHtml(
    fillEmptyRows: true,
    mode: WebGridPagerModes.All,
    firstText: "<< First",
    previousText: "< Previous",
    nextText: "Next >",
    lastText: "Last>>",

    columns: new[] {
        grid.Column("CountryName", style: "direc", header: "Country"),
        ... [etc]
})

ユーザーがテーブルの別のページを表示しようとすると、この隠し要素 ( ) を覚えていないため空白のテーブルが表示されるため、問題が発生します。WegGrid のどこかに追加する必要があると思いますが、どこにあるのかわかりません。code

お役に立てば幸いです。私は本当にこれを終わらせる必要があります。前もって感謝します!

4

1 に答える 1