Hi,
I have a custom list in which I have a managed metadata column. I want to update the field programatically without asking the user to enter the value for that column.
So I am using an event receiver for itemadding
SPSite CurrentSite = properties.OpenSite();
SPList TargetList = properties.List;
//Get the taxonomy field we want to insert to.
TaxonomyField EditField = (TaxonomyField)TargetList.Fields["Marketing Research"];
//Start a taxonomy session
TaxonomySession taxonomySession = new TaxonomySession(CurrentSite);
TermStore Store = taxonomySession.TermStores["Managed Metadata Service"];
Group group = Store.Groups["Site Collection - hdl-pcs470202-9224-sites-Japan"];
TermSet termSet = group.TermSets["Marketing Research"];
TermCollection terms = termSet.Terms;
foreach (var term in terms)
{
if (term.Name == "Research-Projects")
{
string TermGuid = Convert.ToString(term.Id);
Guid TermID = new Guid(TermGuid);
Term ToAddTerm = termSet.GetTerm(TermID);
EventFiringEnabled = false;
EditField.SetFieldValue(properties.ListItem, ToAddTerm);
//In order for the user not to get the error message that the document already been updated on upload.
properties.ListItem.SystemUpdate(false);
EventFiringEnabled = true;
}
}But this is generating "value doesnot fall within a range" error.
This is an urgent requirement. Please suggest me with some solution.
Thanks in Advance.