Invalid data has been used to update the list item. The field you are trying to update may be read only.

mshaji
mshaji used Ask the Experts™
on

I have SharePoint blog and I created a custom web part to add the comments for a new post. But when i add comment item by using this web part then its giving an error "Invalid data has been used to update the list item. The field you are trying to update may be read only."

Please see the attached code here

Does any one have an Idea!

regards
string DURL = "http://myURL/";
                        using (SPSite site = new SPSite(DURL))
                        {
                            using (SPWeb web = site.OpenWeb())
                            {
                                web.AllowUnsafeUpdates = true;
                                SPList listLook = web .Lists ["Posts"];
                                SPList list = web.Lists["Comments"];
                                SPListItem Item1 = list.Items.Add();
                                Item1["Title"] = "My testing title";
                               
                                Item1.Fields["Post Id"].ReadOnlyField = false;
                                Item1["Post Id"] = 1;
                                Item1.Update();
                                Item1.Fields["Post Title"].ReadOnlyField = true;
                                Item1.Fields["Post Id"].ReadOnlyField = true; 
                            }
                        }

Open in new window

Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
I think you are misusing the list update and item update

check the changes



  string DURL = "http://myURL/";
                        using (SPSite site = new SPSite(DURL))
                        {
                            using (SPWeb web = site.OpenWeb())
                            {
                                web.AllowUnsafeUpdates = true;
                                SPList listLook = web .Lists ["Posts"];

                                SPList list = web.Lists["Comments"];
                                SPListItem Item1 = list.Items.Add();
                                Item1["Title"] = "My testing title";
                               
                                list.Fields["Post Id"].ReadOnlyField = false;
                                list.Update();
                                Item1["Post Id"] = 1;
                                Item1.Update();
                                
                                list.Fields["Post Title"].ReadOnlyField = true;
                                list.Fields["Post Id"].ReadOnlyField = true; 
                                list.Update();

                            }
                        }

Open in new window




but I think you are going at this the wrong way..


in any case ,let me know if that worked.
Commented:
Closed

Author

Commented:
no

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial