Duda sobre clases parciales y espacios de nombres

Said
13 de Octubre del 2008
<%@ page language="VB" CodeFile="Default.aspx.vb" Inherits="CodeBehind_vb_aspx" %>

<html>
<head>
<title>ASP.NET CodeBehind Pages</title>
</head>

<body>
<form id="Form1" runat="server">
<h1>Welcome to ASP.NET 2.0!</h1>
<b>Enter Your Name:</b>
<asp:TextBox ID="TextBox1" Runat="server"/>
<asp:Button ID="Button1" Text="Click Me" OnClick="Button1_Click" Runat="server"/>
<br />
<br />
<asp:Label ID="Label1" Text="Hello" Runat="server" />
</form>
</body>
</html>


Este mi CodeBehind (Default.aspx.vb):

Imports

Partial Class CodeBehind_vb_aspxMicrosoft.VisualBasic
Inherits System.Web.UI.Page

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = "Hello " & TextBox1.Text
End Sub
End Class


Y estas mis preguntas:

1) Porque o para que se declara la clase como Partial, si no la declaro como Partial tambien funciona.

2) Si meto la clase CodeBehind_vb_aspx en un espacio de nombres ya no funciona me manda el error: "No se ha declarado el nombre Label1", porque?



De antemano agradezco sus respuestas :)



Saludos!!