我創建了一個工作的MVC頁面,它帶回了一組數據,顯示一個特定的報告(頂級客戶的花費量)。我試圖添加兩個jQuery datepicker文本框,這將允許用戶通過開始和結束日期綁定該報告。它目前正在工作,因爲我有一個綁定了jQuery click事件的HTML錨標記,它啓動了一個處理程序。該處理程序將開始/結束日期扔給我的控制器中的HttpPost ActionResult方法,並獲取更新後的數據集。MVC 3剃刀 - 創建報告使用2 datepickers綁定數據從模型
問題是當我嘗試返回數據到視圖(而不是返回內容(「真」)),沒有數據返回,並且處理程序給我我的OnFailure消息。是否有可能以這種方式將數據傳遞給視圖,還是需要使用Html.BeginForm類型的方法重新編寫它?
非常感謝!
下面的代碼: (在我看來)
<script type="text/javascript">
$(document).ready(function() {
$(".datepicker").datepicker();
$('#submit').click(function() {
SetDateHandler($('#startdate').val(), $('#enddate').val(), "company");
});
function SetDateHandler(bounddate1, bounddate2, datetype) {
$.ajax({
//url: '/Projects/TestArray',
url: '@Url.RouteUrl("SetBoundingDate")',
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: OnComplete,
data: JSON.stringify({ startdate: bounddate1, enddate:bounddate2, type: datetype }),
traditional: true,
type: "POST",
error: OnFail
});
return false;
}
function OnComplete(result) {
//indow.location.href = window.location.href;
alert("yay!");
return true;
}
function OnFail(result) {
alert('Request Failed');
return false;
}
});
</script>
<h2>Top Companies by Total Price for Won Quotes</h2>
<div style="float:right; width: 350px; margin: 15px;">
<span style="float:right; margin-right: 50px;">Start Date: <input class="datepicker" id="startdate" /></span>
<br />
<span style="float:right; margin-right: 50px;">End Date: <input class="datepicker" id="enddate" /></span>
<br />
<a href="#" id="submit">Submit</a>
</div>
定製路線: routes.MapRoute( 名稱: 「SetBoundingDate」, 網址: 「AjaxSetBoundingDate」, 默認:新{控制器= 「Reports」,action =「SetBoundingDates」} );
在我的報告控制器:
[HttpPost]
public ActionResult SetBoundingDates(String startdate, String enddate, String type)
{
Schedule.Models.Reports.TopCompaniesModel Companies = new Models.Reports.TopCompaniesModel();
ActionResult view;
if (type == "company")
{
view = TopCompaniesReport(startdate, enddate);
}
else
{
view = TopContactsReport(startdate, enddate);
}
//return View(view);
return Content("true");
}
同樣,如果你已經讀到這裏,我讓我的控制器方法與觀點正確填寫,但底部,當我嘗試返回查看,它的錯誤,如果我返回內容(「真」),它的工作原理,但沒有任何更改頁面上。
謝謝!