Re: can't get evaluationfunction attribute set correctly on CustomValidator

Tech-Archive recommends: Speed Up your PC by fixing your registry



They aren't written from Attributes collection but directly as expando
attribute on the derived, concrete validator implementation

protected override void AddAttributesToRender(HtmlTextWriter writer)
{
base.AddAttributesToRender(writer);
if (base.RenderUplevel)
{
string controlId = this.ClientID;
HtmlTextWriter writer2 = base.EnableLegacyRendering ? writer : null;
base.AddExpandoAttribute(writer2, controlId, "evaluationfunction",
"CustomValidatorEvaluateIsValid", false);
if (this.ClientValidationFunction.Length > 0)
{
//client-side registration
}
}
}

AddExpandoAttribute is implemented as follows

internal static void AddExpandoAttribute(Control control, HtmlTextWriter
writer, string controlId, string attributeName, string attributeValue, bool
encode)
{
if (writer != null)
{
writer.AddAttribute(attributeName, attributeValue, encode);
}
else
{
control.Page.ClientScript.RegisterExpandoAttribute(control,
controlId, attributeName, attributeValue, encode);
}
}


so basically you could try registering the attribute with
control.Page.ClientScript.RegisterExpandoAttribute yourself.

--
Teemu Keiski
AspInsider, ASP.NET MVP
http://blogs.aspadvice.com/joteke
http://teemukeiski.net





"TS" <manofsteele1@xxxxxxxxxxxxx> wrote in message
news:ee0oA5g1HHA.5532@xxxxxxxxxxxxxxxxxxxxxxx
i found out that this is in the base class to my class (which is inherited
from customvalidator)
protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter
writer)

{

/// TODO: Get rid of the Custom EvaluationFunction

Attributes.Remove("evaluationfunction");

Attributes["evaluationfunction"] = "CustomValidatorEvaluateFunction";

base.AddAttributesToRender(writer);

writer.AddAttribute("requiredfield", RequiredField.ToString().ToLower());

writer.AddAttribute("validatewhenempty",
ValidateEmptyText.ToString().ToLower());

writer.AddAttribute("label", Label);

writer.AddAttribute("validationGroup1", ValidationGroup1);

}

i tried the same remove() function as above in my overriden method but no
luck :(


"TS" <manofsteele1@xxxxxxxxxxxxx> wrote in message
news:OHJf1rg1HHA.1164@xxxxxxxxxxxxxxxxxxxxxxx
i want to specify evalutionfunction for my custom validator control. i
have
tried many ways to get this to work, but in the end, the
evaluationfunction
attribute always gets rendered as the default
"CustomValidatorEvaluateFunction":

<span

id="ctl00_ctl00_ContentMainPlaceHolder_ApplicationContentMainPlaceHolder_cbC
lientSigned" evaluationfunction="CustomValidatorEvaluateFunction"
requiredfield="false" validatewhenempty="false" label="" validationGroup1
mustBeChecked="true" style="color:Red;display:none;"></span>

protected override void AddAttributesToRender(HtmlTextWriter writer){
base.AddAttributesToRender(writer); string x;
//this.ClientValidationFunction = "CheckBoxValidatorEvaluateIsValid";
//writer.AddAttribute("evaluationfunction",
"CheckBoxValidatorEvaluateIsValid", false);
Attributes.Add("evaluationfunction", "CheckBoxValidatorEvaluateIsValid");
writer.AddAttribute("mustBeChecked", MustBeChecked ? "true" : "false",
false);
}

how do i do this correctly? I have tried to also not override
AddAttributesToRender and instead in prerender just add these 2
attributes.
No matter what i do, evaluationfunction gets overwritten somewhere

what can i do?






.



Relevant Pages

  • Re: Single Sign-On User Credentials Question
    ... I am also trying to get single sign on to work with the sample code ... protected override void RenderWebPart(HtmlTextWriter writer) ... The error message is this. ...
    (microsoft.public.sharepoint.portalserver)
  • Re: cant get evaluationfunction attribute set correctly on CustomValidator
    ... i found out that this is in the base class to my class (which is inherited ... from customvalidator) ... protected override void AddAttributesToRender(System.Web.UI.HtmlTextWriter ... protected override void AddAttributesToRender(HtmlTextWriter writer){ ...
    (microsoft.public.dotnet.framework.aspnet.buildingcontrols)
  • Re: Rich Textbox Problem
    ... public class MyTextBox: TextBox ... LinkButton b = new LinkButton; ... protected override void Render(HtmlTextWriter writer) ...
    (microsoft.public.dotnet.framework.aspnet.buildingcontrols)
  • Re: Very Strange Problem! (Derived Controls) - Help!
    ... The best way to add attributes to a derived control is to override ... AddAttributesToRender method. ... protected override void AddAttributesToRender(HtmlTextWriter writer) ...
    (microsoft.public.dotnet.framework.aspnet.buildingcontrols)