I'm still having trouble with this, here is what I have done (I'm not using
client-side validation, by the way - customer requirement):
1) As I mentioned before, everything works fine client-side in terms of
items being added to the HtmlSelect control. I get a nice list of items in
my form, as expected. In addition, I have a hidden input field that holds a
string representation of the values, so that I can persist between
postbacks. For the sake of argument, lets call my HtmlSelect (which is
runat=server) "lstValues" and my hidden input (which is also runat=server)
"hdnValues".
2) Now, from what I understand, I should be able to truly populate the
HtmlSelect control (as .NET sees it) on the server-side, so that when
validation rolls around in the page event cycle, it will see that items have
been added. This is where confusion sets in.
3) It seems that Page_Init is too early to set any values because
"hdnValues" is always an empty string. So, that doesn't work.
4) I have tried adding IPostbackDataHandler to my page and implementing
LoadPostbackData, but this doesn't seem to work. The values are set, but the
validation still fails.
5) I have tried adding multiple other events that supposedly occur before
validation and populating lstValues there, but all to no avail. Validation
still fails.
6) I have googled and read everything that I can find, but nothing seem to
work.
This cannot be this difficult. I feel like I have all that I need on the
client-side, I just need to know what to do and where to do it in the
code-behind in order to catch the page event before validation and populate
lstValues with the items that I have. Also, from what I understand (and I
have observed the problem, so I know its true) CustomValidators don't work
with HtmlSelect - the event doesn't fire, so that is not an option either.
Any help is appreciated, I have been working on this all day....
TIA
BK
"Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
wrote in message news:OtuCBM$...
> You are pretty much right about everything. Though I would expect the
> client-side validation to still work (not necessarily ideal since it only
> works in IE...)
>
> -items need to be added server-side
> -going to dropdownlist (server control) wouldn't change anything
> -you'll need to write your own validator and use request.form
>
> Cheers,
> Karl
>
> --
> MY ASP.Net tutorials
> http://www.openmymind.net/ - New and Improved (yes, the popup is
> annoying)
> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
> come!)
> "BK" <> wrote in message
> news:O3Fu5l%...
> > OK, this sort of makes sense to me. But, all the documentation that I
have
> > read says that the RequiredFieldValidator works with an HtmlSelect
server
> > control. I guess what you are saying is that the items need to be added
> > server-side for this to work?
> >
> > Also, if this is the case, then is there a way to add them to the
> > viewstate
> > in the described scenario or will I have to do some kind of convoluted
> > CustomValidation where I check the Request collection? Based upon the
FAQ
> > below, I am assuming that converting to web controls wouldn't solve the
> > problem either - this seems to be a client vs server side issue with
> > regard
> > to how the validation works.
> >
> > Brian
> >
> > "Karl Seguin" <karl REMOVE @ REMOVE openmymind REMOVEMETOO . ANDME net>
> > wrote in message news:uP$6M$...
> >> I wouldn't expect server-side validation to work on client-side added
> > items.
> >>
> >> Take a look at: http://openmymind.net/FAQ.aspx?documentId=1
> >>
> >> but the quick answer is that when you add items in javascript, they
> >> aren't
> >> added to the viewstate which means they won't be recreated on
> >> postback...explains why your htmlselect is empty...
> >>
> >> Karl
> >>
> >>
> >> --
> >> MY ASP.Net tutorials
> >> http://www.openmymind.net/ - New and Improved (yes, the popup is
> >> annoying)
> >> http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
> >> come!)
> >>
> >>
> >> "BK" <> wrote in message
> >> news:...
> >> > I'm having a really strange problem with and HtmlSelect server
control
> >> > (listbox) and a RequiredFieldValidator that I am trying to use to
make
> >> > sure
> >> > that someone has items in the listbox.
> >> >
> >> > The way that the HtmlSelect is populated is via a combination of
> >> > client-side
> >> > javascript and another aspx page (launched by the javascript).
> >> >
> >> > Anyway, everything seems to work just fine in terms of populating the
> >> > HtmlSelect. However, when I postback the form, the
> > RequiredFieldValidator
> >> > always thinks that there is nothing in the HtmlSelect and fails
> > validation
> >> > (I am only using server-side validation, by the way). I have the
> >> > ControlToValidate and all those things hooked up properly. Is there
> >> > some
> >> > trick to setting the RequiredFieldValidator for an HtmlSelect
control?
> >> > Some
> >> > property that I am not setting?? I suspect that there is some small
> >> > setting
> >> > that I am missing, but I have spent way too much time on this to keep
> >> > struggling.
> >> >
> >> > Any help is appreciated,
> >> > Thanks
> >> >
> >> >
> >>
> >>
> >
> >
>
>