如何将teleriks datepicker值传递给控制器​​?

时间:2012-06-30 14:46:02

标签: asp.net-mvc-3 controller telerik telerik-datepicker

这是我的代码:

我需要将数据传递给控制器​​。

@{
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>

//}

datepicker没有绑定到模型,我需要我正在使用的网格数据的值。 (telerik grid ajax)

此外,我想阻止用户输入大于BeginDate的Enddate

由于

1 个答案:

答案 0 :(得分:2)

您可以向控制器发送ajax请求,传递datepickers的值。获得结果后,将网格绑定到结果。

<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);
    }
  });
}
相关问题