Varför ska du använda Page.FindControl? Kan du inte bara deklarera LblCPU?
Annars så har du skrivit LblCpu på ett ställe och LblCPU på ett annat... testa att skriva exakt likadant.
1 svar · 206 visningar · startad av erka
Jag kanske är trött men varför fungerar inte detta.
En funktion som ser ut på följande sätt.
Public Class FvCamFunctions
Inherits Page
Public Function GetCpuHdTemp()
Dim LblErrorMsg As System.Web.UI.MobileControls.Label
LblErrorMsg = Page.Findcontrol("LblErrorMsg")
Dim LblCPU As System.Web.UI.MobileControls.Label
LblCpu = Page.Findcontrol("LblCpu")
Try
Dim objXMLreader as XMLTextReader = New XMLTextReader(Server.MapPath("MBM 5 Interval Log.xml"))
While objXMLreader.Read()
if (objXMLreader.NodeType = XmlNodeType.Element AND objXMLreader.Name = "Log")
objXMLreader.MoveToNextAttribute()
LblCPU.Text = objXMLreader.Value
End If
End While
objXMLreader.close
Catch Ex as Exception
LblErrorMsg.Text = "Följande fel inträffade: " & Ex.Message
End Try
End Function
End Class
på Sidan har jag
Sub Page_Load(obj As Object, e As Eventargs)
If Not IsPostBack Then
Dim objFvCamFunctions As FvCamFunctions = New FvCamFunctions
objFvCamFunctions.GetCpuHdTemp()
objFvCamFunctions = Nothing
LblDate.Text = Now.ToString("yyMMdd - hh:mm")
End If
End Sub
och kontrollerna skriver jag ut med
<mobile:Form runat=server>
<mobile:Image runat="server" ImageURL="thb_.gif" >
</mobile:Image>
<mobile:Label runat="server" id="LblDate" ></mobile:Label>
<mobile:Label runat="server" id="LblCPU" ></mobile:Label>
<mobile:Label runat="server" id="LblErrorMsg" ></mobile:Label>
</mobile:Form>
Felmeddelandet jag får är det klassiska System.NullReferenceException: Object reference not set to an instance of an object. Vad för simpelt har jag missat nu ?
Tacksam
Varför ska du använda Page.FindControl? Kan du inte bara deklarera LblCPU?
Annars så har du skrivit LblCpu på ett ställe och LblCPU på ett annat... testa att skriva exakt likadant.