I created my own BoundField class in C #. I added ASP.NET validators to the TextBox and set up the TextBox OnTextChanged event in edit and paste modes. However, I am annoyed by validators.
I published validators as in this example:
private RequiredFieldValidator _requiredFieldValidator;
public RequiredFieldValidator RequiredFieldValidator
{
get { return _requiredFieldValidator ?? (_requiredFieldValidator = new RequiredFieldValidator()); }
}
I used this approach to avoid having to set countless custom public properties in the control itself. Now I can do it ...
<cc1:BoundFieldWithTextChangedEvent DataField="size2" HeaderText="Width" SortExpression="size2" ItemStyle-CssClass="numeric" OnTextChanged="size2_OnTextChanged" AutoPostBack="True"
RequiredFieldValidator-Text="!"
RequiredFieldValidator-Display="Dynamic" />
This code compiles fine, and the checks work correctly on the page; but I see squiggles under the attributes "RequiredFieldValidator-Text" and "RequiredFieldValidator-Display" in Visual Studio 2013. First warning:
(ASP.Net): "RequiredFieldValidator-Text" "BoundFieldWithTextChangedEvent".
"RequiredFieldValidator-".
, Visual Studio 2013?
EDIT: , .
:
[PersistenceMode(PersistenceMode.InnerProperty)] .- -.
<cc1:BoundFieldWithTextChangedEvent DataField="size2" HeaderText="Width" SortExpression="size2" ItemStyle-CssClass="numeric" OnTextChanged="size2_OnTextChanged" AutoPostBack="True" ItemStyle-Wrap="false" ValidationGroup="UpdateItem">
<RequiredFieldValidator Text="!" ErrorMessage="You must specify a width." Display="Dynamic" SetFocusOnError="true" EnableClientScript="true"></RequiredFieldValidator>
<CompareValidator Text="*" ErrorMessage="Width must be greater than zero." Operator="GreaterThan" ValueToCompare="0" Type="Double" Display="Dynamic" SetFocusOnError="true" EnableClientScript="true"></CompareValidator>
</cc1:BoundFieldWithTextChangedEvent>
Hide result