1

これが私のコードです:

データをコントローラーに渡す必要があります。

@{
DateTime today = DateTime.Now; //current date
DateTime firstDay = today.AddDays(-(today.Day - 1)); //first day

today = today.AddMonths(1);
DateTime lastDay = today.AddDays(-(today.Day)); //last day
}
//@using (Html.BeginForm())
//{
//<fieldset>
    <br /><br />
    <h2>Please select date range for the report</h2>
    <table>
        <tr>
            <td>Begin Date</td>
            <td>
                @(Html.Telerik().DatePicker()
                    .Name("BeginDate")
                .ShowButton(true)
                .Value(firstDay)
                )
            </td>
        </tr>

        <tr>
            <td>End Date</td>
            <td>
                @(Html.Telerik().DatePicker()
                            .Name("EndDate")
                .ShowButton(true)
                        .Value(lastDay)
                )
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <input type="submit" value="Show Report" />
            </td>
        </tr>

    </table>
//</fieldset>

//}

日付ピッカーはモデルにバインドされていません。使用しているグリッドデータの値が必要です。(telerik grid ajax)

また、BeginDateよりも大きいEnddateをユーザーが入力できないようにしたい

ありがとう

4

1 に答える 1

2

日付ピッカーの値を渡すajaxリクエストをコントローラーに送信できます。結果を取得したら、グリッドを結果にバインドします。

<input type="button" value="Display Grid" class="button" onclick="displayGrid()" title="Display grid using selected dates."/>


function displayGrid() {
  var grid = $('#Grid').data('tGrid');
  var beginDate = document.getElementById('BeginDate').value;
  var endDate = document.getElementById('EndDate').value;
  $.ajax(
  {
    type: 'POST',
    url: '/Home/NameOfActionMethod/',
    dataType: 'json',
    data: { bdate: beginDate, edate: endDate },
    success: function (result) {
      grid.dataBind(result);
    },
    error: function (req, status, error) {
      alert("Sorry! Error. " + status + error);
    }
  });
}
于 2012-07-01T02:45:45.573 に答える