I am stumped. I have a small solution that works fine up until the point where I want to update the status of the record. When I add a watch I am seeing a reference that says...
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[1]PayAmount
The actual element of the array in this class is called 'AmountTagged'
Can someone please explain where this error is being generated from and how I can clear it?
I have debugged the view and the data does what it's supposed to there up to the point where I send it back to update. When I add a watch this is what it's saying.
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[1]PayAmount
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[1]PayAmount
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[48]AmountTagged
This is the controller code where it's dying.
public ActionResult
UpdateInvoiceStatus(IList<UpdatedInvoices>
invoices)
{
foreach
(var
invoice in
invoices)
{
UpdatedInvoices
invoice1 = invoice;
var
inv = InvoiceData.Single(x => x.Id == invoice1.Id);
inv.Status = char.Parse(invoice.Status);
inv.AmountTagged = invoice.AmountTagged;
inv.StatusModified = true;
}
return
Json("ok");
}
I am just trying to understand how there can be a watch that references PayAmount ??
I modified the code to the following but the grid is still not updating and the value in amount tagged is always 0 ( unlike the value which is correct when I debug the ajax from the view...
The call to UpdateInvoiceStatus now is as follows:
public
ActionResult
UpdateInvoiceStatus(List<UpdatedInvoices>
invoices)
{
foreach (var invoice in invoices)
{
UpdatedInvoices invoice1 = invoice;
var inv = InvoiceData.Single(x => x.Id == invoice1Id);
inv.Status = char.Parse(invoice.Status);
inv.AmountTagged = invoice.AmountTagged;
inv.StatusModified = true;
}
return Json("ok");
}
When I had a watch to InvoiceData from above I get the following
minglis123
Member
10 Points
13 Posts
How to clear records
Mar 28, 2012 05:54 PM|LINK
I am stumped. I have a small solution that works fine up until the point where I want to update the status of the record. When I add a watch I am seeing a reference that says...
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[1]PayAmount
The actual element of the array in this class is called 'AmountTagged'
Can someone please explain where this error is being generated from and how I can clear it?
CodeHobo
All-Star
18647 Points
2647 Posts
Re: How to clear records
Mar 28, 2012 05:57 PM|LINK
What is the error? Can show the code for the model , controller and view?
Blog | Twitter : @Hattan
minglis123
Member
10 Points
13 Posts
Re: How to clear records
Mar 28, 2012 06:43 PM|LINK
I have debugged the view and the data does what it's supposed to there up to the point where I send it back to update. When I add a watch this is what it's saying.
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[1]PayAmount
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[1]PayAmount
(new System.Collections.Generic.Mscorlib_CollectionDebugView<Portal.Models.PadOutstandingInvoices>(InvoiceData)).Items[48]AmountTagged
This is the controller code where it's dying.
public ActionResult UpdateInvoiceStatus(IList<UpdatedInvoices> invoices)
{
foreach (var invoice in invoices)
{
UpdatedInvoices invoice1 = invoice;
var inv = InvoiceData.Single(x => x.Id == invoice1.Id);
inv.Status = char.Parse(invoice.Status);
inv.AmountTagged = invoice.AmountTagged;
inv.StatusModified = true;
}
return Json("ok");
}
I am just trying to understand how there can be a watch that references PayAmount ??
ignatandrei
All-Star
135184 Points
21682 Posts
Moderator
MVP
Re: How to clear records
Mar 28, 2012 07:51 PM|LINK
1. no one can create an IList, but a class that implement IList. Replace IList with List
2. please handle json errors like here: http://bit.ly/mvc_ajax_jquery
3. How do you call UpdateInvoiceStatus?
4. What's the text of the precise error?
minglis123
Member
10 Points
13 Posts
Re: How to clear records
Mar 29, 2012 03:36 PM|LINK
I modified the code to the following but the grid is still not updating and the value in amount tagged is always 0 ( unlike the value which is correct when I debug the ajax from the view...
The call to UpdateInvoiceStatus now is as follows:
public ActionResult UpdateInvoiceStatus(List<UpdatedInvoices> invoices)
{
foreach (var invoice in invoices)
{
UpdatedInvoices invoice1 = invoice;
var inv = InvoiceData.Single(x => x.Id == invoice1Id);
inv.Status = char.Parse(invoice.Status);
inv.AmountTagged = invoice.AmountTagged;
inv.StatusModified = true;
}
return Json("ok");
}
When I had a watch to InvoiceData from above I get the following
Raw View - _items {Portal.Models.PadOutstandingInvoices[64]} Portal.Models.PadOutstandingInvoices[] + [0] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [1] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [2] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [3] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [4] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [5] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [6] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [7] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [8] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [9] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [10] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [11] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [12] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [13] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [14] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [15] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [16] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [17] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [18] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [19] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [20] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [21] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [22] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [23] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [24] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [25] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [26] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [27] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [28] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [29] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [30] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [31] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [32] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [33] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [34] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [35] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [36] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [37] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [38] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [39] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [40] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [41] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [42] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [43] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [44] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [45] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [46] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [47] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [48] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [49] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [50] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [51] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [52] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [53] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [54] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [55] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [56] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [57] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [58] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [59] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices + [60] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices - [61] {Portal.Models.PadOutstandingInvoices} Portal.Models.PadOutstandingInvoices [62] null Portal.Models.PadOutstandingInvoices [63] null Portal.Models.PadOutstandingInvoices _size 62 int _syncRoot null object _version 62 int Capacity 64 int Count 62 int System.Collections.Generic.ICollection<T>.IsReadOnly false bool System.Collections.ICollection.IsSynchronized false bool System.Collections.ICollection.SyncRoot {object} object System.Collections.IList.IsFixedSize false bool System.Collections.IList.IsReadOnly false bool
My question is why is the count 64 in the raw view vs. 62 records that are being accessed??