I have a drop-down list inside a user control (ASCX) that I want to validate from the page on which I've placed the ASCX, but when I set the ControlToValidate to the drop-down list the page complains that it can't be found. Thanks for any help/suggestions.
Expose the dropdown list with a public property in your user control:
public DropDownList DropDownToValidate
{
get
{
return ddlTest;
}
}
Then use the UniqueID of the exposed Dropdown to set the control to validate in the page load of the page on which you dropped the user control:
protected void Page_Load(object sender, EventArgs e)
{
RequiredFieldValidator1.ControlToValidate = WebUserControl1.DropDownToValidate.UniqueID;
}
The only way I know to do this is to do this in your user control class:
[ValidationProperty("Foo")]
public class MyUserControl : UserControl
{
public string Foo
{
get { return(yourDropDown.SelectedValue); }
}
}
And then in the page you place the user control on:
<asp:RequiredFieldValidator ControlToValidate="yourUserControlName" runat="server" ErrorMessage="You are required to make a selection" />
Not quite the same thing, but that's the only workaround that I know.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With