Почему AjaxControlToolkit TabContainer отображает все свойства разметки пользовательских элементов управления? - PullRequest
2 голосов
/ 08 июля 2011

Это странное объяснение, но я надеюсь, что оно имеет смысл.

В нашей организации есть библиотека пользовательских элементов управления, которые мы используем в наших решениях.Одним из примеров этих элементов управления является текстовое поле в сочетании с набором валидаторов, которые можно соответствующим образом настроить с помощью его свойств, установленных в разметке.

Теперь у меня возникла проблема при использовании этого элемента управления в (который, как я полагаю, сузилсявниз) a TabContainer.

Если я хочу использовать следующую разметку в контейнере:

<scc:TextBox ID="txtEmailAddr" runat="server" CssClass="input EmailAddress" EnforceEntry="EmailAddress" ErrorMessage_RequiredFieldNotCompleted="" ErrorMessage_ShowExclamation="true" MaxLength="150" ShowErrorMessageBelow="false" Label="Email Address " />

Когда я сохраняю или перезагружаю разметку .aspx, тогдаотображает следующую разметку для того же элемента управления:

<scc:TextBox ID="txtEmailAddr" runat="server" CssClass="input EmailAddress" EnforceEntry="EmailAddress" ErrorMessage_RequiredFieldNotCompleted="" ErrorMessage_ShowExclamation="True" MaxLength="150" ShowErrorMessageBelow="False" Label="Email Address " ClientSidePreventInvalidChars="True" EnableClientScript="True" EnfoceOnPaste="False" EnforceMaxLengthWithRXOnMultiline="True" EnforceOnPaste="False" EnforceSpaceInPostcode="True" ErrorMessage_InvalidFormat="Email Address : Please enter a valid email address" ErrorMessage_NumericValueInvalidOrOutOfRange="Email Address requires a number to be entered in the range to ." GuidanceText="" GuidanceText_RenderInMouseoverPanel="False" JavascriptURL="~/Include/TextBoxMaximumLength.js" LabelBold="False" LabelCSSClass="" MaxValue="9999999" MinValue="-9999999" Read_Only="False" RememberAnswer="False" RenderInParagraphs="True" RenderRequiredTextForRequiredFields="True" Required="True" RequiredField_InitialValue="" Rows="0" ShowMaxLength="False" Text="" TextBox_TabIndex="0" TextboxSkinID="" TextMode="SingleLine" TooltipPopup_BodyText="" TooltipPopup_TooltipText="(guidance)" ValidationGroup="" ValidationExpression="" />

Это не будет проблемой, за исключением того, что свойства, которые теперь отображаются в разметке, переопределяют стандартные функции фактического элемента управления по умолчанию.,В этом случае регулярное выражение адреса электронной почты по умолчанию игнорируется, поскольку для свойства 'ValidationExpression' задана пустая строка!

Снова я могу поместить регулярное выражение по умолчанию в это свойство, но я просто хотел бы понятьпочему разметка ведет себя таким образом?

Спасибо.

1 Ответ

1 голос
/ 08 июля 2011

Получите код для AjaxContolToolkit и пройдитесь по нему, чтобы увидеть, почему отображаются все свойства.Вы можете настроить этот код так, как вам нужно, скомпилировать dll и использовать его.Исходя из личного опыта, это единственный способ, которым я нашел использование Инструментария из-за поведения, описанного вами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...