I need to know how to do what the following would intuitively do if it worked (imagine useGreek() and useNato() to be states that would be consulted once per load or postback):
<asp:radioButtonList id="rbl" runat="server" autoPostBack="true">
<asp:listItem value="alpha" text="Alpha" />
<% if(useGreek()) { %>
<asp:listItem value="beta" text="Beta" />
<asp:listItem value="gamma" text="Gamma" />
<% } else if(useNato()) { %>
<asp:listItem value="bravo" text="Bravo" />
<asp:listItem value="charlie" text="Charlie" />
<% } %>
<asp:listItem value="delta" text="Delta" />
</asp:radioButtonList>
(It will already be apparent that I’m not usually asked to write for IIS.)
Anyway, ASP.NET doesn’t like code interleaved with list items, so this is a no-go. I imagine that there’s some C#-based way to handle this somehow, but I’ve been trying for a few days now with no luck.
Also, just to be clear, I’m seeking a server-side solution here. I’m well-versed with jQuery, but we’re trying to keep most of the processing of this particular form off the client.
Thanks, and party on.
No C# but i think you understand what i mean:
in codebehind’s page_load:
If you have to check on every postback because the state could change fast, you could add an
Me.rbl.Items.Clear()to the top and remove the PostBack-check.EDIT:
C#
Because i’m not sure if you already know the codebehind model, have a look at following link:
MSDN: Codebehind and Compilation in ASP.NET 2.0