gpt4 book ai didi

c# - ASP.NET Web 窗体页中的类属性 (?)

转载 作者:行者123 更新时间:2023-11-30 12:42:56 24 4
gpt4 key购买 nike

我在 C# 中创建了一个自定义 BoundField 类。我已将 ASP.NET 验证器添加到 TextBox 并在编辑和插入模式下公开了 TextBox OnTextChanged 事件。不过,我对验证器感到厌烦。

我已经像这个例子一样公开了验证器:

private RequiredFieldValidator _requiredFieldValidator;
public RequiredFieldValidator RequiredFieldValidator
{
get { return _requiredFieldValidator ?? (_requiredFieldValidator = new RequiredFieldValidator()); }
}

我已经使用这种方法来避免必须在控件本身中设置无数的自定义公共(public)属性。我现在可以做到这一点...

<cc1:BoundFieldWithTextChangedEvent DataField="size2" HeaderText="Width" SortExpression="size2" ItemStyle-CssClass="numeric" OnTextChanged="size2_OnTextChanged" AutoPostBack="True"
RequiredFieldValidator-Text="!"
RequiredFieldValidator-Display="Dynamic" />

此代码编译正常并且验证在页面上正常工作;但我在 Visual Studio 2013 的“RequiredFieldValidator-Text”和“RequiredFieldValidator-Display”属性下看到了波浪线。第一个警告是:

Validation (ASP.Net): Attribute 'RequiredFieldValidator-Text' is not a valid attribute of element 'BoundFieldWithTextChangedEvent'.

其他警告针对其余的“RequiredFieldValidator-”属性。

我需要对自定义控件代码执行哪些操作才能使这些属性在 Visual Studio 2013 中正常运行?

编辑:感谢下面 Alex Lebedev 的帮助,我的问题已经解决。

我需要做两件事:

  1. 在我的自定义控件中的公共(public)验证器属性上方添加 [PersistenceMode(PersistenceMode.InnerProperty)]
  2. 在 Web 表单页面上将验证器引用为我的自定义控件的内部元素。

<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>

最佳答案

<cc1:BoundFieldWithTextChangedEvent DataField="size2" HeaderText="Width" SortExpression="size2" ItemStyle-CssClass="numeric" OnTextChanged="size2_OnTextChanged" AutoPostBack="True"
RequiredFieldValidator-Text="!"
RequiredFieldValidator-Display="Dynamic" />

替换为:

<cc1:BoundFieldWithTextChangedEvent DataField="size2" HeaderText="Width" SortExpression="size2" ItemStyle-CssClass="numeric" OnTextChanged="size2_OnTextChanged" AutoPostBack="True">
<RequiredFieldValidator Text="!" Display="Dynamic"/>
</cc1:BoundFieldWithTextChangedEvent>

关于c# - ASP.NET Web 窗体页中的类属性 (?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32252599/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com