Comment définir un asp:DropDownList SelectedValue à une Variable de Session?
Il y a plusieurs articles décrivant la façon de le faire est de code derrière toutefois:
Est-il possible de définir la valeur d'un dropdownlist à une variable de session sur la page aspx?
Je suis en utilisant SqlDataSource pour remplir la dropdownlist afin de ne pas ajouter de code derrière si elle peut être évitée.
<asp:DropDownList ID="ddl" runat="Server" DataSourceID="sqlDS" DataValueField="ID" DataTextField="TEXT" AppendDataBoundItems="true">
<asp:ListItem Text="" Value="" Selected="True" />
</asp:DropDownList>
<asp:SqlDataSource ID="sqlDS" runat="Server" SelectCommand="spDS" SelectCommandType="StoredProcedure" />
Ensemble Session("ID") comme valeur sélectionnée de la charge?
La liste déroulante est déjà rempli à partir de la sqldatasource. Je veux juste pour définir la valeur initiale de chargement de page.
- Vous pouvez prendre le "code behind" et de l'intégrer dans votre page ASPX dans
<% %>
blocs, mais quel est le point? - Bon point. Surtout pour le compléter dropdowncode est dans un bloc de code et pas sur les deux pages. Rapide de déplacer et de supprimer plus tard.
InformationsquelleAutor DreamTeK | 2014-02-07
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'un code côté serveur afin d'utiliser Session. Le code suivant ne nécessite pas de code derrière le fichier, mais encore une fois le code à l'intérieur script sera côté serveur.
Remarque: assurez-vous que
AutoPostBack="True"
pour DropDownList.<% %>
est un serveur de code côté. Vous ne pouvez pas utiliser Session à côté client.Ne pas mélanger les code avec la balise. Il est logique de les séparer pour de nombreuses raisons. Donc ASPX aura juste la présentation, et CS/VB juste le code de la logique.
Lors de la compilation/déploiement de votre côté à la production, il n'y aura pas "de la deuxième page" seule page ASPX restera. Le Code sera compilé dans une DLL.
vous aurez besoin d'un événement pour votre liste déroulante sur le changement. Êtes-vous à l'aide de C# ou VB.net pour votre codebehind?
ajouter à onSelectedIndexChanged="ddl_OnSelectedIndexChanged"
à votre code derrière ajouter:
{c'est C# vb est similaire}
à votre chargement de la page, ajouter