Я пытаюсь создать шаблон рендеринга для моих форм, которые требуют сложных процедур проверки.шаблон рендеринга работает нормально с:
<XmlDocuments>
<XmlDocument NamespaceURI="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<FormTemplates xmlns="http://schemas.microsoft.com/sharepoint/v3/contenttype/forms">
<Display>ListForm</Display>
<Edit>ChaisTemplate</Edit>
<New>ChaisTemplate</New>
</FormTemplates>
</XmlDocument>
</XmlDocuments>
и с моим ascx:
<%@ Control AutoEventWireup="true" CodeBehind="ChaisTemplate.ascx.cs"
Inherits="TransactionsFormsTemplates.ControlTemplates.ChaisTemplate, TransactionsFormsTemplates"
Language="C#" %>
<%@ Assembly Name="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Register TagPrefix="SharePoint" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
Namespace="Microsoft.SharePoint.WebControls" %>
<%@ Register TagPrefix="wssuc" TagName="ToolBar" Src="~/_controltemplates/ToolBar.ascx" %>
<%PageLoad(this, null);%>
<SharePoint:RenderingTemplate ID="ChaisTemplate" runat="server">
.....
, но у меня не может быть никаких отображений элементов управления в моем коде позади (в бункере webapp сполитики cas, и она правильно развернута) это:
<asp:TextBox runat="server" ID="test"></asp:TextBox>
равно нулю, когда дело доходит до:
public partial class ChaisTemplate : System.Web.UI.UserControl
{
protected TextBox test;
поэтому каждый раз, когда я вызываю test.Text для функций, я получаю исключение nullreferenceexception,потому что тест никогда не отображается в моем текстовом поле ascx.Зачем ?Кроме того, PageLoad никогда не вызывается, как на классических страницах asp.net, даже с <% PageLoad (this, null);%> в начале.однако каждое событие работает:
<asp:Button runat="server" ID="button" OnClick="button_OnClick"/>
это фактически вызовет button_OnClick в моем коде позади.Но все мои свойства равны нулю, потому что не отображаются.
я что-то пропустил?