2009-05-24 8 views
1

J'ai une liste ul avec un certain nombre d'éléments de liste comme:ASP.NET/C# Comment accéder à l'élément de la liste non ordonnée avec runat = server?

<ul> 
<li runat="server" id="liOne">one</li> 
<li runat="server" id="liTwo">two</li> 
<li runat="server" id="liThree">three</li> 
</ul> 

Sur chargement de la page, je dois définir ces éléments de la liste visible ou non visible.

Pour une raison quelconque, je ne peux pas accéder à ceux-ci dans le code C# derrière. Les éléments de liste ne sont pas non plus générés pour le fichier de concepteur. Quelqu'un a-t-il des suggestions pour que cela fonctionne?

Je reçois cette erreur:

The name 'liOne' does not exist in the current context 

Un grand merci.

+0

J'ai tout essayé. Encore un pas non. D'autres suggestions? –

Répondre

2

Cela devrait fonctionner. Essayez de reconstruire et de redémarrer Visual Studio.

Ensuite, essayez de supprimer le fichier du concepteur et de cliquer avec le bouton droit de la souris sur la page et de sélectionner "Convertir en application Web" - s'il s'agit bien d'une application Web.

+1

J'ai testé cela et en effet cela devrait fonctionner +1 –

+0

J'ai tout essayé. Encore un pas non. D'autres suggestions? –

0

Votre code peut être encapsulé avec un contrôle serveur qui n'autorise pas les références directes par ID. Si c'est le cas, vous pouvez accéder à vos éléments internes de ce wrapper en écrivant ceci:

var li = wrapperElement.FindControl ("liOne") en tant que HtmlGenericControl;

Espérons que cela aide.

Questions connexes