I am trying to use the ListFieldIterator control in my web part to render a list form. I have a button event that suppose to update the current item from the ListFieldIterator control, after I click the button it saves a blank item with and ID only and rest of the fields are left blank.
Can some please tell me what I have done wrong here:
private ListFieldIterator _listFieldIterator;
public ListIteratorWebPart()
{
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeControl();
}
protected void Page_Load(object sender, EventArgs e)
{
var personList = SPContext.Current.Web.Lists["PersonList"];
var item = personList.AddItem();
_listFieldIterator = new ListFieldIterator
{
ListId = personList.ID,
ItemId = item.ID,
ControlMode = SPControlMode.New,
EnableViewState = true
};
_listFieldIterator.DataBind();
Controls.Add(_listFieldIterator);
var saveButton = new HtmlButton();
saveButton.InnerText = "Save";
saveButton.ServerClick += saveButton_ServerClick;
Controls.Add(saveButton);
}
void saveButton_ServerClick(object sender, EventArgs e)
{
_listFieldIterator.Item.Update();
}