Я создал приемник событий в списке «Задача».Не удалось перенаправить из приемника событий sharepoint
Если «Дата погашения» - null
, то пользователь должен быть перенаправлен на страницу пользовательской ошибки.
Пользовательская страница ошибки находится в сопоставленной папке SharePoint в директории «Макеты».
Код приемника событий выглядит следующим образом:
public override void ItemAdding(SPItemEventProperties properties)
{
try
{
if (properties.AfterProperties["Due Date"] == null)
{
properties.Status = SPEventReceiverStatus.CancelWithRedirectUrl;
properties.RedirectUrl = "_layouts/CustomErrorPage/DueDateErrorPage.aspx";
}
}
catch (Exception ex)
{
}
}
Обычай страница ошибки, которая относится к типу «Application Page», имеющий имя. "DueDateErrorPage.aspx". Наценка является:
<asp:Content ID="PageHead" ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server">
</asp:Content>
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server">
ERROR : You cannot create the task without due date
</asp:Content>
<asp:Content ID="PageTitle" ContentPlaceHolderID="PlaceHolderPageTitle" runat="server">
Custom Error Page
</asp:Content>
<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >
Custom Error Page
</asp:Content>
Хотя в IIS, под _layouts direcory страница доступна я получаю этот выход.
Как я должен решить эту ошибку? Пожалуйста помоги.
Спасибо за ваш сэр ответа, я новичок в SharPoint и практики .. Я сделал изменения в соответствии с ваше предложение, но теперь ошибка изменилась. Ошибка отображает «Приемник событий отменил запрос .. @Steve B –
@RiyazKalva: Я считаю, что лучший способ решить вашу проблему - следовать методу 2. Если ваше требование - сделать обязательную дату обязательной, то пусть SharePoint обработайте это и пометьте поле как обязательное непосредственно в структуре списка. –