0
想法 是我從哪裏可以選擇不同日期的日曆控件。基於選擇的日期,我做了一個Ajax調用WCF服務(GetDealData())來獲取一些數據集。 請問你們有什麼人請看看這裏有什麼錯?兩天來,我有點瘋狂,試圖找出爲什麼我的GetRemoteData()方法每次執行OnDateChange方法時都會傳遞相同的日期(即25-10-2012),即使我在日曆控件上選擇了不同的日期。這與json數據沒有正確分配有關嗎?通過Kendo UI將日期傳遞給WCF REST服務(Javascript/jquery)
$('#calendarContainer').kendoCalendar({
format: "dd/MM/yyyy",
culture: "en-GB",
change: onDateChange
});
function onDateChange() {
var date = kendo.toString(this.value(), 'dd/MM/yyyy');
var bob = GetRemoteData(date);
$("#grid").data("kendoGrid").dataSource.data(bob);
$("#grid").data("kendoGrid").dataSource.read();
}
功能GetRemoteData(日期){
var chosenDate;
if (typeof date=="undefined")
{
alert("it is null " + date);
chosenDate = "25-10-2012";
}
else {
alert("it is not null " + date);
chosenDate = date;
}
source = new kendo.data.DataSource({
// autoSync:true,
transport: {
read: {
type: "GET",
url: "http://localhost:35798/RestServiceImpl.svc/GetDealData",
dataType: "jsonp",
contentType: "application/json; charset=utf-8",
cache: false,
data: {
startDate:chosenDate
}
}
},
schema: {
model: {
fields: {
DealNumber: { type: "string" },
DealIssuer: { type: "string" },
Ticker: { type: "string" },
DealType: { type: "string" },
DealValue: { type: "number" },
DealStatus: { type: "string" },
DealPricingCompletionDate: { type: "date" }
}
}
},
pageSize: 16
});
return source;
}
WCF Methods
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.WrappedRequest,
UriTemplate = "GetDealData?startDate={startDate}")]
List<DealData> GetDealData(string startDate);
public List<DealData> GetDealData(string startDate)
{
CultureInfo culture = new CultureInfo("en-GB");
List<DealData> model = Service.GetDealData(Convert.ToDateTime(startDate,culture));
return model;
}
嗨evgenyl!感謝您的答覆。是的,this.value()顯示我在日曆控件中選擇的確切值。這從警報語句中得到確認,看看實際值是多少。問題出在我指定數據屬性的傳輸部分。由於一些奇怪的原因,即使日期變量已經獲得了一些其他值,它始終會將「25-10-2012」作爲值發送給WCF Rest服務。 – Sike12
你調試過嗎?在if(typeof date == ...)之後chooseDate的值是多少?此外,我會嘗試更改日期字符串日期repsresentation日期() – evgenyl
是的,我得到的實際值時調試後,如果(typeof日期== ...)? ...這意味着變量「chosenDate」自動獲得從「date」變量傳入的選定值。只是當我調用read方法時,它將傳遞null。我無法將其更改爲Date對象,因爲WCF服務器期望帶有字符串參數的日期。我正在盡力將它作爲字符串日期發送。 – Sike12