Har den här koden för att fylla en datalist Testa nedanstående, det kan möjligen hjälpa : tack men tyvärr så hjälpte det inte. Blir samma fel Ok, det var en chansning, hittade ett exempel som gjorde precis så på webben, eller om det var i MSDN. Synd...då har jag inga fler ideér... Jag har i alla fall märkt att det blri fel lite här och där om man glömmer eller sätter dit () testa: Det konstiga är att jag kör liknande subbar på samma sida som den usercontrolen inkluderas och dom fungerar som dom ska. Parantesernas vara eller inte vara ska du inte bry dig om eftersom de inte har med saken att göra överhuvud taget.... alls.. I alla fal inte i detta fall. i min aspx fil har jag så härSystem.InvalidCastException: Specified cast is not valid. ?
<code>
Dim objconn As New OleDbConnection(ConfigurationSettings.AppSettings("connectionstring"))
Public dl_poll As DataList
Public error6 As Label
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not (IsPostBack) Then
bindgrid()
End If
End Sub
Private grupp As String = ""
Public Property _pid() As String
Get
grupp = grupp
End Get
Set(ByVal Value As String)
grupp = Value
End Set
End Property
Public Sub bindgrid()
Dim objcmd As New OleDbDataAdapter _
("select [id],[votes],[pid],[alternativ] from [votes] where [pid]=" & grupp & " order by [id] desc", objconn)
Dim ds1 As DataSet = New DataSet()
objcmd.Fill(ds1, "poll1")
dl_poll.DataSource = ds1.Tables("poll1").DefaultView
dl_poll.DataBind()
End Sub
</code>
Den ger det här felmeddelandet som jag inte förstår
<code>
Exception Details: System.InvalidCastException: Specified cast is not valid.
Source Error:
Line 48:
Line 49: dl_poll.DataSource = ds1.Tables("poll1").DefaultView
Line 50: dl_poll.DataBind()
Line 51: End Sub
Line 52:
Source File: h:\inetpub\wwwroot\tibroik.net\poll.ascx.vb Line: 50
</code>
Någon som vet vad som kan vara fel?Sv: System.InvalidCastException: Specified cast is not valid. ?
dl_poll.DataSource = CType(ds1.Tables("poll1").DefaultView, ICollection)
Eller möjligen :
Dim dv As DataView=New DataView(ds1.Tables("poll1"))
dl_poll.DataSource = CType(dv, ICollection)Sv: System.InvalidCastException: Specified cast is not valid. ?
Sv: System.InvalidCastException: Specified cast is not valid. ?
Sv: System.InvalidCastException: Specified cast is not valid. ?
Dim ds1 As New DataSet ' inga ()
isället för
Dim ds1 As DataSet = New DataSet() Sv: System.InvalidCastException: Specified cast is not valid. ?
<code>
Public Sub bindnyhet()
' hämta topnyheten
Dim objcmd As New OleDbDataAdapter _
("select top 1 datum, rubrik,link,linktext, id, artikel, bild, visa_stor, vilken, skribent_id from nyheter where vilken='nyhet' and visa_stor = true order by id desc", objconn)
Dim ds As DataSet = New DataSet()
objcmd.Fill(ds, "nyheter")
dg_nyheter.DataSource = ds.Tables("nyheter"). _
DefaultView
If ds.Tables("nyheter").Rows.Count = 0 Then
error1.Text = "Finns inga nyheter"
Else
DataBind()
End If
End Sub
</code>
Den här fungerar som den ska.
Hur ska jag göra för att ta bort () . Vs lägger ju till det automatiskt. Kan man göra någon inställning för att vs inte ska lägga till detSv: System.InvalidCastException: Specified cast is not valid. ?
Jag löste tyvärr inte ditt problem utan kan nog bara peka dig åt att du antingen har något fel i deklarationen/koden kring din datalist, eller så kan det har att göra med hur du anger vilken tabellen i datasettet som ska knytas till datalistan. Är du SÄKER på att den finns och under det namnet (byt ut den till indexet om inte annat). Kör i debug å testa.
Sen har jag bara ett litet på pekande kring din property _PID: Kolla på din get. Ska det inte vara return? eller _PID = [localvalue]?
//Mikael.NETSv: System.InvalidCastException: Specified cast is not valid. ?
<asp:repeater id="rp_poll" runat="server">
<itemtemplate>
<asp:label id="Label1" text='<%#"<b>" & DataBinder.Eval(Container.DataItem, "namn") & "</b>"%>' runat="server" />
<tik:poll _pid='<%# DataBinder.Eval(Container.DataItem, "id") %>' runat="server" />
</itemtemplate>
</asp:repeater>
det är därifrån jag får _pid
Tabellerna stämmer och sql frågorna fungerar när jag kör dom direkt i access