Web Part to Update a List Data in SharePoint
        Posted  
        
            by DanSogaard
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by DanSogaard
        
        
        
        Published on 2010-04-28T21:10:12Z
        Indexed on 
            2010/04/28
            21:17 UTC
        
        
        Read the original article
        Hit count: 370
        
sharepoint
|webpart
I'm trying to write a web part that access lists and add items in a specific list. The user modifies the web part and type in List Name, the web part has 3 TextBoxs and a Button. The user should enter data and press the save button, that should update the list and add these data in a new record.
I'm using the following code to build my web part, but the save button doesn't update the list. I don't know what's wrong it just reload the page and add nothing.
Edit: BTW the list am trying to update has three columns, First Name, Last Name, and Email, respectively.
using System;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Collections.Generic;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using Microsoft.SharePoint.Security;
namespace TimeSheetEntry
{
    public class TimesheetEntry : System.Web.UI.WebControls.WebParts.WebPart
    {
        public TimesheetEntry() { }
        protected TextBox txtFirstName;
        protected TextBox txtLastName;
        protected TextBox txtEmail;
        protected Button btnSave;
        protected string listName = string.Empty;
        [WebBrowsable(true),
        WebDisplayName("List Name"),
        WebDescription("Enter List Name"),
        Personalizable(PersonalizationScope.User)]
        public string LN
        {
            get
            {
                return this.listName;
            }
            set
            {
                this.listName = value;
            }
        }
        protected override void CreateChildControls()
        {
            //initialize textboxes
            txtFirstName = new TextBox();
            txtLastName = new TextBox();
            txtEmail = new TextBox();
            //initialize button
            btnSave = new Button();
            btnSave.Text = "Save";
            btnSave.Click += new EventHandler(btnSave_Click);
        }
        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            writer.Write("<table width=100%>");
            writer.Write("<tr>");
            writer.Write("<td colspan=2>");
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("<tr>");
            writer.Write("<td>First:<span class=’ms-formvalidation’>*</span></td>");
            writer.Write("<td>");
            txtFirstName.RenderControl(writer);
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("<tr>");
            writer.Write("<td>Last Name:<span class=’ms-formvalidation’>*</span></td>");
            writer.Write("<td>");
            txtLastName.RenderControl(writer);
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("<tr>");
            writer.Write("<td>Email:<span class=’ms-formvalidation’>*</span></td>");
            writer.Write("<td>");
            txtEmail.RenderControl(writer);
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("<tr>");
            writer.Write("<td>");
            writer.Write("</td>");
            writer.Write("<td>");
            btnSave.RenderControl(writer);
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("</table>");
        }
        public void btnSave_Click(object sender, EventArgs e)
       {
           SPWeb web = SPContext.Current.Web;
           SPList timesheetList = web.Lists[this.listName];
           SPListItem newTimesheetEntry = timesheetList.Items.Add();
           newTimesheetEntry["First Name"] = txtFirstName.Text;
           newTimesheetEntry["Last Name"] = txtLastName.Text;
           newTimesheetEntry["Email"] = txtEmail.Text;
           newTimesheetEntry.Update();
           timesheetList.Update();      
       }
    }
}
© Stack Overflow or respective owner