kan man inte använda LinkButton i code behind? Om man kan det vad är det för fel på detta? Det går alldeles utmärkt att använda en LinkButton i code behind, men du kan inte skriva html-taggar i koden. ang string concatenering ett motargument :) > ang string concatenering ett motargument :) Det vill inte fungera riktigt. Jag har gjort följande: Du kan inte få ut html-koden för en PlaceHolder genom att använda ToString, det enda du får ut är namnet på klassen. Det var värst vad detta var knepigt.LinkButton i code behind
<code>
myBuild = "<table style='width:95%'>";
foreach (DataRow dr in dsCat.Tables[0].Rows)
{
headLine = (string)dr["headline"];
date = (DateTime)dr["timestamp"];
user = (string)dr["username"];
post = (string)dr["text"];
// <asp:LinkButton ID="LinkButton1" CommandName="cat" CommandArgument='<%#Eval("catID") %>' runat="server" Text='<%#Eval("catName")%>' />
myBuild += "<tr><td>Överskrift: <asp:LinkButton ID='blabla' runat='server' Text='" + headLine + "' /> Inlagt: " + date + " av " + user + "<br /></td></tr>";
myBuild += "<tr><td class='bottomBorder'>Post: " + post + "</td></tr></table>";
}
</code>Sv: LinkButton i code behind
LinkButton button = new LinkButton();
button.ID = "LinkButton1";
button.CommandName = "cat";
et.c.
Du kan dock inte lägga in objektet i en sträng, utan du får lägga det i ett element i sidan:
PlaceHolder1.Controls.Add(button);
För övrigt: Ifall du kommer att sätta ihop strängar så använd en StringBuilder istället för att använda +=. Här är ett exempel på varför:
http://www.codeproject.com/script/comments/forums.asp?forumid=1649&select=1519247&df=100&tid=1519247#xx1519247xxSv:LinkButton i code behind
http://www.yoda.arachsys.com/csharp/stringbuilder.htmlSv: LinkButton i code behind
Bra läsning, den har jag sett förut.
Inte ett motargument, precis, eftersom jag håller med om allt som står där. :)Sv:LinkButton i code behind
<code>
LinkButton lb = new LinkButton();
PlaceHolder ph = new PlaceHolder();
lb.ID = "link";
lb.Text = headLine;
lb.CommandName = "click";
lb.CommandArgument = postID.ToString();
ph.Controls.Add(lb);
myString.Append("<tr><td>");
myString.Append(ph.ToString() + postID);
</code>
all kod är inte med nu, men det är här det blir fel med LinkButton och PlaceHolder. Jag får följande utskrift på skärmen:
<b>
System.Web.UI.WebControls.PlaceHolder2
System.Web.UI.WebControls.PlaceHolder3
System.Web.UI.WebControls.PlaceHolder5
</b>
Här vill jag ju ha ut texten som finns i "headline".Sv: LinkButton i code behind
Det går att köra renderingen av kontroller för att få ut koden, men du kan inte få formulärkontroller att fungera korrekt på det sättet. Du måste lägga in dem i formuläret för att de ska renderas korrekt.Sv:LinkButton i code behind
Det jag behöver är en kontroll som har ett event som kan triggas när jag klickar på en viss text som hämtas från databasen. Går det att lösa på ett enklare sätt?