Problemer med postback og datagrid
Jeg er ved at lave følgende custom servercontrol der skal formindske et billeds størrelse hvid det er for stort i højden og bredden:Option Explicit
Option Strict
Imports System
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports Microsoft.VisualBasic
Imports System.Text.RegularExpressions
Imports System.IO
Imports System.Data
Imports System.Data.OleDB
Imports System.Configuration
Imports System.XML
Namespace Edtwodth
Public Class FotoHojdeBredde
Inherits System.Web.ui.webcontrols.Image
Dim Meddel as new Meddel()
Dim Div as new Diverse()
Protected _MaxHojde as integer
Protected _MaxBredde as integer
Protected _FotoSti as string
Public Property MaxHojde() As integer
Get
Return _MaxHojde
End Get
Set(ByVal Value As integer)
_MaxHojde = Value
End Set
End Property
Public Property MaxBredde() As integer
Get
Return _MaxBredde
End Get
Set(ByVal Value As integer)
_MaxBredde = Value
End Set
End Property
Public Property FotoSti() As string
Get
Return _FotoSti
End Get
Set(ByVal Value As string)
_FotoSti = Value
End Set
End Property
Protected Overrides Sub Onload (e as eventargs)
MyBase.Onload(e)
HttpContext.Current.Response.write(Me.MaxBredde)
Me.imageurl = Div.Web & Me.FotoSti
end sub
End Class
end namespace
Ovenstående er kun en test af om den registrere værdierne. Det fungerer fint nok (også ved postback) hvis jeg laver følgende på en side:
<Edtwodth:FotoHojdeBredde id="Foto" FotoSti="testfoto/hfea.jpg" Maxbredde="150" runat="server"/>
Her udskriver den fintnok værdien af maxbredde - også ved postback.
Men hvis jeg indsætter den i en datagrid som nedenstående:
<asp:datagrid id="DgTest" AutoGenerateColumns="false" AllowSorting="True" OnSortCommand="Gridsorter_DgTest" Width="100%" runat="server" GridLines="Horizontal" CellPadding="3" AllowPaging="True" PageSize="10" OnpageIndexChanged="GridSide_DgTest" >
<PagerStyle position="Bottom" HorizontalAlign="Center" mode="NumericPages" />
<columns>
<asp:BoundColumn DataField="Kategoriid" SortExpression="Kategoriid" HeaderText="ID"/>
<asp:BoundColumn DataField="Navn" SortExpression="Navn" HeaderText="Navn"/>
<asp:TemplateColumn HeaderText="Beskrivelse" SortExpression="Beskrivelse">
<ItemTemplate>
<%# Replace(Container.DataItem("Beskrivelse"), vbCrLf, "<br>" ) %>
<Edtwodth:FotoHojdeBredde id="Foto1" FotoSti="testfoto/hfea.jpg" Maxbredde='<%# Container.DataItem("kategoriid") %>' runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn DataNavigateUrlField="Navn" DataNavigateUrlFormatString="http://{0}" DataTextField="Navn" sortexpression="Navn" />
</columns>
</asp:datagrid>
mister den værdien ved postback på siden og udskriver ikke nogen værdi?
Hva fann gør jeg forkert
