Вы можете попытаться вывести HTML-код (который также включает в себя javascript) в ErrorMessage. НО даже если вы это сделаете, проблема в том, что у вас нет безопасного пути назад к данным, введенным пользователем. Либо вы делаете перенаправление HTTP / 301, а затем загружается новая страница, либо вы заставляете клиента работать на history.back()
с JavaScript, и затем браузер может перезагрузить страницу.
Официальный способ сделать это состоит в том, что вы создаете определение списка и настраиваете шаблон списка. Затем вы редактируете шаблон формы редактирования и добавляете столько элементов управления ASP.Net, сколько необходимо. Затем реализуйте логику на стороне сервера по мере необходимости. Эта статья объясняет технику: http://msdn.microsoft.com/en-us/library/aa543922.aspx
РЕДАКТИРОВАТЬ: Чтобы прикрепить пользовательский элемент управления для редактирования определенного типа содержимого, вы добавляете раздел XmlDocuments в определение ContentType. Например, вот так
<ContentType
..........
<XmlDocuments>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<Display>ContentTypeName_DispForm</Display>
<Edit>ContentTypeName_EditForm</Edit>
<New>ContentTypeName_NewForm</New>
</FormTemplates>
</XmlDocument>
</XmlDocuments>
.......
Затем вы создаете свой собственный файл yoursolution_controltemplates.ascx
, который также содержит такие блоки: "
<SharePoint:RenderingTemplate ID="ContentTypeName_DispForm" runat="server">
<Template>
<!-- put whatever controls you need here, we typically create a
separate custom control which implements everything-->
</Template>
</SharePoint:RenderingTemplate>