Regarding WORDSNET-17660, the list numbering restart attribute was added in WORDSNET-15054 and was mentioned in Aspose.Words for .NET 17.9 Release Notes ( see Added Public Property List.IsRestartAtEachSection section ). This section includes the generic workaround for backward compatibility during mail merge. The following is a more generic solution and hopefully, it will satisfy your needs:
Dictionary<List, bool> lists = new Dictionary<List, bool>();
foreach (List list in document.Lists)
lists[list] = list.IsRestartAtEachSection;
foreach (KeyValuePair<List, bool> pair in lists)
pair.Key.IsRestartAtEachSection = pair.Value
No. there is no need to code for each template. The code above remembers the value for the restart numbering attribute for each list and restores it after the merge. It is a generic solution.
This is a strange behavior of MS Word. For some reason the attribute that is expected to affect numbering in different sections still affects it within one section during mail merge. This behavior of MS Word is not clear. But, the fact is that the attribute still does affect the numbering regardless of section breaks.
P.S. Please also note that we are in a constant process of getting closer and closer to MS Word - the product whose behavior we try to mimic. That is why from time to time we have to change the behavior. Sometimes the changes are breaking, but we cannot introduce a new API property to support each change. However, we do mention these changes in release notes section. Thank you for your understanding.