2016-04-20 108 views
1

我需要這個任務問題幫助:ASP.NET標籤不顯示預期值

當用戶訪問該網站,它應該顯示歡迎信息「早上好」,如果用戶訪問的時間在早上。如果是下午,應該顯示「下午好」。如果是在晚上,它應該顯示「晚上好」。

我有點困惑,爲什麼這個ASP.NET網站中的標籤根本不顯示問候。

我的代碼片段:

<%@ Page Language="VB" AutoEventWireup="false" 

CodeFile="Default.aspx.vb" Inherits="Labs_7_Default" %> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body onload=""> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="lblGreeting" runat="server"/> 
    </div> 
     </form> 
</body> 
</html> 

這是後面的代碼:

Partial Class Labs_7_Default 
Inherits System.Web.UI.Page 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 

    If DateTime.Now.Hour >= 6 And DateTime.Now.Hour < 12 Then 
     lblGreeting.Text = "Good morning" 
    ElseIf DateTime.Now.Hour >= 12 And DateTime.Now.Hour < 18 Then 
     lblGreeting.Text = "Good afternoon" 
    Else 
     lblGreeting.Text = "Good evening" 
    End If 
End Sub 

我自己也嘗試這種代碼的其他變化,但標籤在瀏覽器中永遠不會顯示。

+0

嘗試刪除onload =「」函數。只需使用空標記 – Red

+0

「代碼片段」是否具有完整的標記?一些標籤丟失(html,結束標籤)。 – ConnorsFan

+2

看看AutoEventWireup:https://support.microsoft.com/en-us/kb/324151。我相信那是你的問題。 –

回答

2

ASPX文件的某些部分可能會丟失。最小的標記應該是這樣的:

<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="WebApplication1.WebForm1" %> 
<html> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="lblGreeting" runat="server"/> 
    </div> 
    </form> 
</body> 
</html> 

WebForm1WebApplication1可能在你的應用程序不同的名字。

UPDATE

真正的答案是由Tim梅多拉給出。我錯過了一個事實,即在Page_Load代碼隱藏沒有Handles Me.Load

Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load 

如果Handles條款是存在的,AutoEventWireup可能是假的。否則,它一定是真的。

+0

對不起。完整的代碼顯示在編輯的文章中。 –