2012-06-30 3 views
1

여기 내 코드 :teleriks 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> 

는 //}, 내가 사용하고 그리드 데이터의 값이 필요합니다. (telerik 그리드 아약스)

은 또한 난 당신이 datepickers의 값을 전달 컨트롤러에 아약스 요청을 보낼 수 있습니다

답변

2

BEGINDATE

덕분에보다 큰 종료 날짜를 입력하도록 사용자를 방지 할 . 결과를 얻으면 그리드를 결과에 바인딩하십시오.

<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); 
    } 
    }); 
} 
+0

감사합니다! 나중에 이걸 시도 할거야. – samantha07

관련 문제