webForumDet fria alternativet

fel vid anv repeater och codebehind

.NET

10 svar · 306 visningar · startad av MizzK

Medlem sedan juni 2003410 inlägg
Frågan#1

jag har ett litet problem när jag använder mig av repeater och codebehind så returneras inte ngt värde till repeatern. verkar som om den hoppar över raden när den skall knyta samman repeatern och källan.

Vad kan detta bero på?

Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Web.UI.WebControls

Public MustInherit Class meny
    Inherits System.Web.UI.UserControl

    Public lblErrMessage As Label
    Protected WithEvents menyRepeater As Repeater

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("database\dbpelican.mdb")
        Dim strSQL As String = "SELECT lankNamn,menyNamn FROM Meny1"

        Dim myConn As New OleDbConnection(strconn)
        Dim myCommand As New OleDbCommand(strSQL, myConn)
        Dim myDataReader As OleDbDataReader

        If Not Page.IsPostBack Then
            Try
                myConn.Open()
                myDataReader = myCommand.ExecuteReader()

                Response.Write("before datasource ")
                menyRepeater.DataSource = myDataReader
                Response.Write("after datasource ")
                menyRepeater.DataBind()
                myDataReader.Close()
                myConn.Close()

            Catch ex As Exception
                lblErrMessage.Text = ex.Message
            End Try
        End If

        Dim pageChoice As String = Request.QueryString("page")

        If pageChoice = "" Then
            lblErrMessage.Text = "test"
        Else
            Try
                strSQL = "SELECT lank FROM Meny1 WHERE lankNamn = '" & pageChoice & "'"
                myCommand.CommandText = strSQL

                myConn.Open()
                myDataReader = myCommand.ExecuteReader()
                myDataReader.Read()
                Response.Redirect(myDataReader("lank"))
                myDataReader.Close()
                myConn.Close()

            Catch ex As Exception
                lblErrMessage.Text = ex.Message
            End Try
        End If

    End Sub

End Class

Här verkar inget hända

                menyRepeater.DataSource = myDataReader
Medlem sedan juni 2003410 inlägg
#2

kan ngn flytta det till asp.net postade fel!!!

Medlem sedan juni 200032 967 inlägg
#3

Och som vanligt går det bättre om du klickar på länken "Rapportera till moderatorn" och ber om det.

mvh

Medlem sedan feb. 200112 078 inlägg
#4

Flyttas från ASP, VBScript.

Medlem sedan juni 2003410 inlägg
#5

har nu letat ännu mer bland felen, men hittar verkligen inte.. det jag tycker är konstigt är att det fungerar utmärkt när man lägger html och vb kod på samma sida. Har det kanske något med deklareringen av repeatern?

Medlem sedan apr. 20012 266 inlägg
#6

du har inte missat .DataBind()?

menyRepeater.DataSource = myDataReader;
menyRepeater.DataBind();
Medlem sedan juni 2003410 inlägg
#7

ne den ligger där om man kollar i hela koden

Medlem sedan apr. 20012 266 inlägg
#8

oj, såg den inte :)

kan det vara så att din fråga inte retunerar något värde?

Medlem sedan juni 2003410 inlägg
#9

ne, har kollat d... innan körde jag samma kod(minus lite tillägg som jag var tvugna att göra) som en fil. med en script tag och en html då fungerade allt detta korrekt men nu när jag kör CB fungerar d ej.. när jag testar så verkar d som om d endast kör fram till koden jag visade innan..

Medlem sedan apr. 20012 266 inlägg
#10

Lite trött just nu så kan ha missat eventuella fel. Kör Page_Load rätt då? Dvs det du vill ha utskrivet fungerar? Skicka all kod, kan bli lättare då...

Medlem sedan juni 2003410 inlägg
#11

Koden ovan är all CB(vb) kod

all UC kod

<%@ Control Language="vb" Src="meny.ascx.vb" Inherits="meny" autoeventwireup="false" %>
<!-- Repeater dar desigen pa menyn modifieras -->
	<asp:Repeater ID="menyReapeter" Runat="server">
		<HeaderTemplate>
			<p>
		</HeaderTemplate>
		<ItemTemplate>
			<img src="bilder/dot3.gif" width="4" height="7">&nbsp;
			<asp:HyperLink id="menylank" CssClass="meny" Target="iframe1" Runat="server" NavigateUrl='<%# "index.aspx?page=" + Databinder.Eval(Container.DataItem,"lankNamn") %>'
			Text='<%# DataBinder.Eval(Container.DataItem,"menyNamn") %>'></asp:HyperLink>
			<br><br>
		</ItemTemplate>
		<FooterTemplate>
			</p>
		</FooterTemplate>
	</asp:Repeater>
	<asp:Label ID="lblErrMessage" Runat="server"></asp:Label>
266 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)