Javascript 使用c语言编辑验证摘要#
我想创建一个自定义的验证摘要,以便编辑asp:ValidationSummary的默认呈现,并带有指向特定错误字段的链接(有点像WET) 我的自定义类:Javascript 使用c语言编辑验证摘要#,javascript,c#,asp.net,validation,customvalidator,Javascript,C#,Asp.net,Validation,Customvalidator,我想创建一个自定义的验证摘要,以便编辑asp:ValidationSummary的默认呈现,并带有指向特定错误字段的链接(有点像WET) 我的自定义类: using System; using System.ComponentModel; using System.Security; using System.Security.Permissions; using System.Web; using System.Web.UI; using
using System;
using System.ComponentModel;
using System.Security;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
[assembly: TagPrefix("Web.Boew", "wet")]
namespace Wet.Boew
{
[
ToolboxData("<{0}:CustomValidationSummary CssClass='label label-danger' ID='ValidationSummary' runat=\"server\"></{0}:CustomValidationSummary>")
]
public class CustomValidationSummary : System.Web.UI.WebControls.ValidationSummary
{
[
Browsable(true),
Category("Appearance"),
DefaultValue(""),
Description("Validation Summary.")
]
protected override void Render(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "label label-danger");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
writer.RenderBeginTag(HtmlTextWriterTag.Ul);
// Call the base class's Render method.
base.Render(writer);
foreach (BaseValidator v in Page.Validators)
{
//base.Render(writer);
var o = v.FindControl(v.ControlToValidate);
if (o != null && v.ValidationGroup.Equals(this.ValidationGroup))
{
writer.RenderBeginTag(HtmlTextWriterTag.Li);
writer.AddAttribute(HtmlTextWriterAttribute.Href, "#" + o.ClientID);
writer.RenderBeginTag(HtmlTextWriterTag.A);
writer.Write(o.ToString());
writer.RenderEndTag();
writer.RenderEndTag();
}
}
writer.RenderEndTag();
writer.RenderEndTag();
}
}
}
<wet:CustomValidationSummary ID="ValidationSummary2" runat="server"
ValidationGroup="Registration" HeaderText="Following errors occured:" />
使用系统;
使用系统组件模型;
使用系统安全;
使用System.Security.Permissions;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
[组件:标记前缀(“Web.Boew”、“wet”)]
名称空间Wet.Boew
{
[
ToolboxData(“”)
]
公共类CustomValidationSummary:System.Web.UI.WebControl.ValidationSummary
{
[
可浏览(真),
类别(“外观”),
默认值(“”),
说明(“验证摘要”)
]
受保护的覆盖无效渲染(HtmlTextWriter编写器)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class,“标签危险”);
writer.RenderBeginTag(htmltextwittertag.Div);
writer.RenderBeginTag(htmltextwittertag.Ul);
//调用基类的Render方法。
base.Render(writer);
foreach(第页Validators中的BaseValidator v)
{
//base.Render(writer);
var o=v.FindControl(v.ControlToValidate);
如果(o!=null&&v.ValidationGroup.Equals(this.ValidationGroup))
{
writer.RenderBeginTag(htmltextwittertag.Li);
writer.AddAttribute(HtmlTextWriterAttribute.Href,“#”+o.ClientID);
writer.RenderBeginTag(htmltextwittertag.A);
writer.Write(o.ToString());
writer.renderndtag();
writer.renderndtag();
}
}
writer.renderndtag();
writer.renderndtag();
}
}
}
标签:
using System;
using System.ComponentModel;
using System.Security;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
[assembly: TagPrefix("Web.Boew", "wet")]
namespace Wet.Boew
{
[
ToolboxData("<{0}:CustomValidationSummary CssClass='label label-danger' ID='ValidationSummary' runat=\"server\"></{0}:CustomValidationSummary>")
]
public class CustomValidationSummary : System.Web.UI.WebControls.ValidationSummary
{
[
Browsable(true),
Category("Appearance"),
DefaultValue(""),
Description("Validation Summary.")
]
protected override void Render(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "label label-danger");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
writer.RenderBeginTag(HtmlTextWriterTag.Ul);
// Call the base class's Render method.
base.Render(writer);
foreach (BaseValidator v in Page.Validators)
{
//base.Render(writer);
var o = v.FindControl(v.ControlToValidate);
if (o != null && v.ValidationGroup.Equals(this.ValidationGroup))
{
writer.RenderBeginTag(HtmlTextWriterTag.Li);
writer.AddAttribute(HtmlTextWriterAttribute.Href, "#" + o.ClientID);
writer.RenderBeginTag(HtmlTextWriterTag.A);
writer.Write(o.ToString());
writer.RenderEndTag();
writer.RenderEndTag();
}
}
writer.RenderEndTag();
writer.RenderEndTag();
}
}
}
<wet:CustomValidationSummary ID="ValidationSummary2" runat="server"
ValidationGroup="Registration" HeaderText="Following errors occured:" />
呈现的HTML:
发生了什么:
如果你看到上面的图片。加载页面时,它会预加载System.Web.UI.WebControls.TextBox的列表,可单击该列表查看textfield。这是正确的。但是当我按下submit时,我看到上面的错误列表是由base.Render(writer)
生成的
我想要什么:
using System;
using System.ComponentModel;
using System.Security;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
[assembly: TagPrefix("Web.Boew", "wet")]
namespace Wet.Boew
{
[
ToolboxData("<{0}:CustomValidationSummary CssClass='label label-danger' ID='ValidationSummary' runat=\"server\"></{0}:CustomValidationSummary>")
]
public class CustomValidationSummary : System.Web.UI.WebControls.ValidationSummary
{
[
Browsable(true),
Category("Appearance"),
DefaultValue(""),
Description("Validation Summary.")
]
protected override void Render(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "label label-danger");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
writer.RenderBeginTag(HtmlTextWriterTag.Ul);
// Call the base class's Render method.
base.Render(writer);
foreach (BaseValidator v in Page.Validators)
{
//base.Render(writer);
var o = v.FindControl(v.ControlToValidate);
if (o != null && v.ValidationGroup.Equals(this.ValidationGroup))
{
writer.RenderBeginTag(HtmlTextWriterTag.Li);
writer.AddAttribute(HtmlTextWriterAttribute.Href, "#" + o.ClientID);
writer.RenderBeginTag(HtmlTextWriterTag.A);
writer.Write(o.ToString());
writer.RenderEndTag();
writer.RenderEndTag();
}
}
writer.RenderEndTag();
writer.RenderEndTag();
}
}
}
<wet:CustomValidationSummary ID="ValidationSummary2" runat="server"
ValidationGroup="Registration" HeaderText="Following errors occured:" />
我想编辑由base.Render(writer)
生成的列表。并编辑其HTML以包含指向有错误的文本字段的链接。如果有人能帮忙,对不起,我是asp和C的新手
我希望的最终结果是:
是否有任何理由将错误联系起来?客户的规范。这样,残疾人就可以轻松地专注于给出错误的领域。作为Web体验工具包计划的一部分。是否有任何理由将错误联系起来?客户的规范。这样,残疾人就可以轻松地专注于给出错误的领域。作为Web体验工具包计划的一部分。