J'ai un SQLDataSource qui est lié à un contrôle ListView mais je veux placer des parties de l'enregistrement lié dans l'attribut HTML TITLE. Voici mon fichier codebehind que je veux changer peut alors utiliser Eval pour construire un titre dynamique en fonction du contenu des données:Comment utiliser Eval dans codebehind pour définir Page.Title
Public Partial Class zShowAd
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Me.Page.Title = " Dynamically set in ASPX page"
'how to use Eval here instead of the above constant ??
End Sub
End Class
Voici le fichier .aspx correspondant:
<%@ Page Language="vb" AutoEventWireup="false" MasterPageFile="~/zSEO.master"
CodeBehind="zShowAd.aspx.vb" Inherits="Zipeee.zShowAd" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div>
<asp:ListView ID="ShowAd" runat="server" DataSourceID="aPosting">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<div>
<div id="wrapper">
<div id="header"></div>
<div id="main">
<div id="nav"> AdID: <%#Eval("AdID")%></div>
<div id="extras">Price: <%#Eval("Price")%></div>
<div id="content"> <%#Eval("AdDesc")%></div>
</div>
<div id="footer"></div>
</div>
</div>
</ItemTemplate>
</asp:ListView>
<asp:sqldatasource runat="server" id="aPosting"
ConnectionString="<%$ ConnectionStrings:ZIPeeeConnectionString2 %>"
SelectCommand="spGetAdByID" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:QueryStringParameter Name="AdId" QueryStringField="a" Type="String" />
</SelectParameters>
</asp:sqldatasource>
</div>
</asp:Content>
Merci beaucoup. J'ai cherché beaucoup et n'ai jamais trouvé une bonne explication de pourquoi cette syntaxe: <% # SetPageTitle (Eval ("SomeProperty"))%> par rapport à cette syntaxe: <% SetPageTitle (Eval ("SomeProperty")) %> Venant d'un arrière-plan ASP classique, la deuxième forme semblerait OK. Est-ce que la présence du # (est ce qu'on appelle le symbole de liaison?) Est nécessaire parce que l'instruction contient Eval? –
@John: J'ai essayé d'expliquer la différence dans la réponse mise à jour. – M4N
Quelle belle explication! Je vous remercie. –