1

MVC剣道初心者です。1 つの Datetimepicker、2 つのコンボ ボックス、およびグリッドを使用してサンプル プログラムを作成しています。グリッドに入力したいドロップダウンボックスのデータと日時ピッカーの日付を選択するときに知りたいこと。いくつかの作業を行いましたが、[検索] ボタンをクリックしたときに、選択したドロップダウンと datetimepicker の値をコントローラーに送信する方法が見つかりません。誰かが知っているなら、私に知らせてください。

かみそりビュー-

@using PortalModels

<table>
    <tr>
        <td>@Html.Label("Date")</td>
        <td></td>
        <td>@Html.Kendo().DatePicker().Name("DTPicker")</td>
    </tr>
    <tr>
        <td>@Html.Label("District")</td>
        <td></td>
        <td>
        @(Html.Kendo().ComboBox()
              .Name("Districts")
              .HtmlAttributes(new { style = "width:300px" })
              .Placeholder("Select category...")
              .DataTextField("CdNm")
              .DataValueField("CdKy")
              .Filter(FilterType.Contains)
              .DataSource(source =>
              {
                  source.Read(read =>
                  {
                      read.Action("GetCascadeDistrict", "MarketInfo");
                  });
              })
        )
        </td>
    </tr>
    <tr>
        <td>@Html.Label("Market")</td>
        <td></td>
        <td>
        @(Html.Kendo().ComboBox()
              .Name("Markets")
              .HtmlAttributes(new { style = "width:300px" })
              .Placeholder("Select product...")
              .DataTextField("CdNm")
              .DataValueField("CdKy")
              .Filter(FilterType.Contains)
              .DataSource(source => {
                  source.Read(read =>
                  {
                      read.Action("GetCascadeMarket", "MarketInfo")
                          .Data("filterMarkets");
                  })
                  .ServerFiltering(true);
              })
              .Enable(false)
              .AutoBind(false)
              .CascadeFrom("Districts")
        )
        <script>
            function filterMarkets() {
                return {
                    categories: $("#Districts").val(),
                    productFilter: $("#Markets").data("kendoComboBox").input.val()
                };
            }
        </script>
        </td>
        <td><input type="submit" id="Submittbn" /></td>
    </tr>
</table> 

@(Html.Kendo().Grid<PortalModels.MarketInfoModel>()
      .Name("grid")
      .Columns(columns =>
      {
          columns.Bound(m => m.ItmNm).Width(400);
          columns.Bound(m => m.Unit).Width(150);
          columns.Bound(m => m.Unit).Width(150);
      })
      .DataSource(dataSource =>
          dataSource.Ajax()
          .ServerOperation(false)
          .Read(read => read.Action("ReadMarketInfoDetails", "MarketInfo").Data("MarketData"))
          .Create(create => create.Action("FamilyDetails", "Home").Data("FamilyData"))
          .PageSize(150)// Action method invoked when the grid needs data

      )
      .Pageable()
      .Sortable() // Enable sorting
)


<script>
    $(function () {
        var MarketGrid = $('#grid').data("kendoGrid");
        $("#Submittbn").click(function () {
            MarketGrid.dataSource.read();
        })
    });

    function MarketData() {
        var EffectiveDtValue = $("#DTPicker").data("kendoDatePicker")
        var DistrictValue = $('#Districts').data("kendoComboBox")
        var MarketValue = $('#Markets').data("kendoComboBox")
        return {
            intEmpky: EffectiveDt.value(),
            intAdrKy: DistrictValue.value(),
            strCode: MarketValue.value()
        }
    }
</script>
4

2 に答える 2

2

意見

  • @using (Html.BeginForm())剣道コントロール (任意のモデル プロパティ) をフォーム タグ内で使用し、囲むことが重要です。
  • @(Html.Kendo().DropDownListFor(m => m.Prospects)// DropDownListFor を使用してモデルにバインドします
  • .Name("Prospects")プロパティを DropDownListFor に割り当てたままにしたい(問題ではありませんが、それでも重要です)

モデルを見る

    public class ViewModelCCTRST
    {
        .
        ..
        public string Prospects { get; set; }
        public IEnumerable<dbProspect> AvailableProspects { get; set; }
        .
        ..
        ...
     }

投稿方法

    [HttpPost]
    public ActionResult Index(ViewModelCCTRST model)
    {

        if (ModelState.IsValid)
        {
            string pro = model.Prospects;
            string cnt = model.Countys;
            string twn = model.TownShips;
            string rng = model.Ranges;
            string sct = model.Sections;
            string trt = model.Tracts;

これらの手順に従うと、値がモデルにバインドされていることがわかります。

お役に立てれば

于 2013-09-09T15:17:01.397 に答える