2009-09-30 5 views
7

La collection Controls ne peut pas être modifiée car le contrôle contient des blocs de code (c'est-à-dire <% ...%>).Comment accéder à la valeur d'une variable C# dans une page .aspx?

nous avons besoin d'accéder à la variable C# dans la page .aspx au moment où nous avons problème

S'il vous plaît nous guider?

+0

pouvez-vous fournir plus d'informations sur votre situation spécifique? c'est un peu vague. – Chuck

Répondre

20

Il serait utile si vous donniez plus de détails sur ce que vous essayez de faire, mais vous pouvez essayer ceci:

d'abord faire toutes les variables que vous souhaitez accéder à votre aspx balisage protected.

Puis, dans la méthode Page_Load, appelez DataBind();

Ensuite, dans votre balisage que vous pouvez faire ceci:

<%# VariableName %> 

La séquence « <%= » ne peut être utilisé dans certains contextes dans les contrôles du serveur. La séquence "<%#" est destinée aux contrôles DataBound et peut être utilisée dans n'importe quel contexte dans le balisage de page ASPX. L'appel DataBind(); vous permet d'utiliser ce (presque) n'importe où sur la page.

+0

Im affectant 'regression = (Session [" Régression "]). ToString();' dans le fichier .aspx.cs puis en l'utilisant dans un fichier .aspx comme SelectCommand = "SELECT [issue_oid], [issue_num], [regression] [Status], [tested_by], [tested_on], [patch_name], [arrived_on], [previous_info], [comment], [is_duplicate] FROM [itt_monthly_patch_issue_list] où status = "non testé" et "regression =" < % # regression%> '"' mais pour moi cela ne fonctionne pas.pls me suggérer comment utiliser .. – picnic4u

+0

@ picnic4u S'il vous plaît créer une nouvelle question afin que je puisse répondre de manière appropriée à votre question. Je n'ai pas assez d'informations pour résoudre votre problème via les commentaires et il serait hors sujet de répondre aux commentaires dans la question de cet utilisateur. –

+0

s'il vous plaît regarder dans mon code- j'ai placé une question ici http://stackoverflow.com/questions/11445620/how-can-i-access-string-variable-value-of-aspx-cs-file-in- fichier aspx – picnic4u

0

Vous aurez besoin de quelque chose sur la page pouvant contenir des données. Liez cet objet à sa source de données et vous pouvez ensuite faire un "Eval" dessus dans le fichier .aspx.

Par exemple, si vous avez lié votre contrôle (probablement dans le code-behind) à un objet qui a une propriété appelée « Auteur », vous pouvez l'afficher de la manière suivante:

<asp:TableRow ID="trwMsgAuthor" runat="server"> 
    <asp:TableCell ID="TableCell2" runat="server" Width="1in">Author:</asp:TableCell> 
    <asp:TableCell runat="server" ID="celMsgAuthor"><%#Eval("Author")%></asp:TableCell> 
</asp:TableRow> 

Le La table de cet exemple fait partie d'un contrôle Accordion où la propriété ".DataSource" a été définie sur une liste générique d'objets, dont "Author" était l'une des propriétés.

0

Déclarez le code C# derrière la variable public ou protected et ensuite utilisez-le dans le bloc <% %>. par exemple. <%= strMyCodebehindvariable%> ou <%# strMyCodebehindvariable%>. Si vous utilisez la deuxième option, vous devez appeler la méthode DataBind() dans le chargement de la page.

0

Dans votre ASPX, mais un contrôle <asp:literal runat=server> autour de votre code <%=x %>.

Questions connexes