| 

.NET C# Java Javascript Exception

0
Hallo

Ich habe ein ASP.NET Projekt (BlogEngine.NET) mit solchem Code drin.
<div class="post xfolkentry" id="post<%=Post.GetHashCode()%>">
<h1><a href="<%=Post.RelativeLink%>" class="taggedlink">
<%=Server.HtmlEncode(Post.Title)%></a></h1>
<span class="author">by <a href="<%=VirtualPathUtility.ToAbsolute("~/") +
"author/"

Man sieht hier immer mal wieder ein Property Post. Das ist stellt ein Posting auf dem Blog dar und hat entsprechende Properties. Unter anderem auch Post.Id

Ich habe nun ein UserControl gemacht das ein Public Property hat das PostId heisst.

private string m_PostId;
public string PostId
{
get {return m_PostId;}
set {m_PostId = value;}
}

Meine Frage ist nun, wie kann ich das Property Post.Id deklarativ an mein UserControl übergeben?

Einige Versuche die nicht tun.
<GEBEE:MostRead ID="MostRead" runat="server" PostId='<% Post.Id.ToString() %>' />

<GEBEE:MostRead ID="MostRead" runat="server" PostId="<% Post.Id.ToString() %>" />

<GEBEE:MostRead ID="MostRead" runat="server" PostId="<%# Post.Id.ToString() %>" />


Gruss GENiALi
14.07.2010
GENiALi 2,5k 1 2 8
1 Antwort
2
Hallo Geniali,

du musst ein = Zeichen vor die Eigenschaft setzen.

<GEBEE:MostRead ID="MostRead" runat="server" PostId="<%=Post.Id.ToString() %>" />

sollte tun wie du willst.

Servus,
Klaus
14.07.2010
klaus_b 1,6k 3 7
Könnte Wetten das ich das auch schon probiert habe. Aber heute Abend werde ich es wissen. :-)
GENiALi 14.07.2010
1
Es funktioniert. Das = Zeichen für den Abruf einzelner Werte und dass # für den Abruf aus Containerdaten. Keine Zeichen, wenn du keine Daten willst ;-)
klaus_b 14.07.2010
<GEBEE:MostRead ID="MostRead" runat="server" PostId="<%= Post.Id.ToString() %>" />

Ergibt im UC als Property:
<%=Post.Id.ToString() %>
So sieht das PostID Property aus. Nicht ganz die erwartete ID.
Interessant ist, der Designer schreibt folgendes hin: This is not Scriptlet. Will by output as plain Text.
GENiALi 16.07.2010

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH