Hello,
I have been unable to solve this issue for the past 2 days and now need some help.
I am using an Ajax request, to load a partial view, containing two kendo server components bound to my model.
The JavaScript:
01.
$.ajax({
02.
type:
'POST'
,
03.
url:
'/JobEnquiry/GetData'
,
04.
data: {
05.
periodNo: selectedPNo
06.
},
07.
beforeSend:
function
() {
/*alert("before send");*/
},
08.
success:
function
(data) {
09.
$(
"#JobEnquiryContentArea"
).html(data);
10.
$(
"#JobEnquiryContentArea"
).show();
11.
},
12.
error:
function
(jqXHR, textStatus, errorThrown) {
13.
//$('#mnuNav').html(jqXHR.responseText);
14.
LSViewer.ShowErrorDialog(jqXHR.status, jqXHR.statusText, jqXHR.responseText, errorThrown);
15.
},
16.
complete:
function
() {
/*alert("complete");*/
}
17.
});
The Model:
01.
public
class
JobEnquiryDetailsModel
02.
{
03.
public
IEnumerable<JobListModel> JobList {
get
;
set
; }
04.
public
string
Message {
get
;
set
; }
05.
public
string
Branch {
get
;
set
; }
06.
public
IEnumerable<SelectListItem> jobSelection {
get
;
set
; }
07.
[DisplayName(
"Period"
)]
08.
public
string
selectedPeriod {
get
;
set
; }
09.
[DisplayName(
"Job No"
)]
10.
public
string
selectedJob {
get
;
set
; }
11.
12.
}
and for completion The JobListModel:
01.
public
class
JobListModel
02.
{
03.
public
string
JobNumber {
get
;
set
; }
04.
public
string
ClientReference {
get
;
set
; }
05.
public
string
JobName {
get
;
set
; }
06.
public
DateTime Opened {
get
;
set
; }
07.
public
string
ProjectManager {
get
;
set
; }
08.
public
string
JobType {
get
;
set
; }
09.
public
decimal
OriginalValue {
get
;
set
; }
10.
public
decimal
BudgetCosts {
get
;
set
; }
11.
public
decimal
BudgetProfit {
get
;
set
; }
12.
public
decimal
ContractValue {
get
;
set
; }
13.
public
decimal
ForecastValue {
get
;
set
; }
14.
public
decimal
CostToComplete {
get
;
set
; }
15.
public
string
WorkOrder {
get
;
set
; }
16.
public
string
Branch {
get
;
set
; }
17.
public
string
ClosedFlag {
get
;
set
; }
18.
public
string
CreatedUser {
get
;
set
; }
19.
public
string
SiteCode {
get
;
set
; }
20.
public
string
ClientName {
get
;
set
; }
21.
public
string
ClientCode {
get
;
set
; }
22.
}
The Controller method:
01.
[HttpPost]
02.
public
ActionResult GetData(
string
periodNo)
03.
{
04.
JobEnquiryDetailsModel myModel =
new
JobEnquiryDetailsModel();
05.
DownloadJobData(periodNo);
06.
List<JobListModel> jobsList = MapJobJistData();
07.
08.
myModel.Branch =
""
;
09.
myModel.JobList = jobsList;
10.
myModel.Message =
"I Fetched some data...."
;
11.
myModel.selectedJob =
""
;
12.
myModel.selectedPeriod = periodNo;
13.
PartialViewResult mr;
14.
return
PartialView(
"_JobEnquiryDetails"
,myModel);
15.
}
And lastly my partial View:
01.
@model Models.JobEnquiryDetailsModel
02.
03.
<
div
id
=
"displayParameters"
class
=
"row clearfix"
>
04.
<
div
class
=
"col-lg-3"
>
05.
@(Html.LabelFor(model => model.Branch))
06.
@(Html.Kendo().TextBoxFor(model => model.Branch)
07.
.HtmlAttributes(new { style = "width: 80px;" })
08.
)
09.
</
div
>
10.
<
div
class
=
"col-lg-3"
>
11.
@(Html.LabelFor(model => model.selectedJob))
12.
@(Html.Kendo().ComboBoxFor(model => model.selectedJob)
13.
.DataTextField("JobNumber")
14.
.DataValueField("JobNumber")
15.
.BindTo(Model.JobList)
16.
.HtmlAttributes(new { style = "width: 120px;" })
17.
)
18.
</
div
>
19.
<
div
class
=
"col-lg-6"
>
20.
</
div
>
21.
</
div
>
22.
<
div
id
=
"enquiryContent"
class
=
"row clearfix"
>
23.
<
div
class
=
"col-lg-5 pull-left"
>
24.
LEFT HAND SIDE
25.
</
div
>
26.
<
div
class
=
"col-lg-7 pull-right"
>
27.
RIGHT HAND SIDE
28.
</
div
>
29.
</
div
>
K. Now all that is in, the error is:
1.
System.InvalidOperationException: Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property.
I have read numerous pieces of help on JsonSerialisers, however after trying, none are helping in my particular case.
I suspect it is because I am returning a partial view which is not json, then the kendo server object is doing something under the hood to the model data and boom.
The List I am Binding to is only 17000 odd items, which while large isn't obscene.
Really running out of ideas.
Any assistance appreciated.