webForumDet fria alternativet

Längd på Container.DataItem!

.NETur .NET

8 svar · 221 visningar · startad av Marckus

Medlem sedan dec. 2001144 inlägg
Frågan#1

<%# DataBinder.Eval(Container.DataItem, "Memo")%>

Den skriver ut texten rätt men om texten är väldigt lång så bryter inte han texten.. Jag vet inte riktigt vad jag ska leta efter för att bryta texten på flera rader.. Inte så snyggt att behöva scrolla texten sidleds..

Mvh
Marcus

Medlem sedan apr. 20012 266 inlägg
#2

Det kan du fixa med HTML, lägg den i t.ex en <div> med en fast width. Det borde funka. Eller i en table.

Medlem sedan dec. 2001144 inlägg
#3

Den ligger redan i en table med en fast width .. men den spräcker den av någon anledningen..

Mvh
Marcus

Medlem sedan feb. 20022 594 inlägg
#4

Hur ser HTML-koden ut?

Medlem sedan dec. 2001144 inlägg
#5

<%@ Page language="c#" Codebehind="show.aspx.cs" AutoEventWireup="false" Inherits="guestbook.NewShow" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>NewShow</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="NewShow" method="post" runat="server">
<asp:Repeater id="ForumShow" runat="server">
<ItemTemplate>
<table width="600" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">Namn : <%# DataBinder.Eval(Container.DataItem, "Namn")%></td>
<td width="50%">Email : <a href="mailto:<%# DataBinder.Eval(Container.DataItem, "Email")%>"><%# DataBinder.Eval(Container.DataItem, "Email")%></a></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Inlägg : <%# DataBinder.Eval(Container.DataItem, "Memo")%></td>
</tr>
</table>
<br>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</HTML>

Medlem sedan dec. 2001144 inlägg
#6

Hela HTML koden :)

Medlem sedan apr. 20012 266 inlägg
#7

Testa att sätta width="600" på td också...

Medlem sedan juni 20011 732 inlägg
#8

Ett litet html-förslag bara. För det första förstår jag inte varför du har två tabeller, vad gör tabell1 runt tabell 2? Bort! :) Använd colspan och rowspan istället för att lägga data över två kolumner/rader.

Sedan upprepas ju hela din tabell för varje post. Stoppa <table> innan repeatern och </table> efter så använder du samma tabell för hela listningen (vilket borde göra det lättare att få rätt mått). Nåt i den här stilen borde spotta ut lite renare och mer lättjobbad kod:

<table width="600" border="0" cellspacing="0" cellpadding="0">
<asp:Repeater id="ForumShow" runat="server">
<ItemTemplate>
<tr>
<td width="50%">Namn : <%# DataBinder.Eval(Container.DataItem, "Namn")%></td>
<td width="50%">Email : <a href="mailto:<%# DataBinder.Eval(Container.DataItem, "Email")%>"><%# DataBinder.Eval(Container.DataItem, "Email")%></a></td>
</tr>
<tr>
<td colspan="2">Inlägg : <%# DataBinder.Eval(Container.DataItem, "Memo")%></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>

Medlem sedan dec. 2001144 inlägg
#9

Funkade fint..
Såg att jag måste ändå lösa problemet i C# för långa ord.. Väldigt långa ord bryts inte så den blir breddar än 600 ändå..

Tack för all hjälp!

Mvh
Marcus

131 ms totalt · 3 externa anrop · v20260731065814-full.02a0f7de
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)