请教关于代码后置的问题
请教关于代码后置的问题
关于代码后置两种:
<% @ Page Src="src" Inherits="class name" %>
和
在bin 目录下 编译 成dll
我一直搞不太清楚,自己做了个例子,于是问题来了。
可别笑我菜,大家帮我呀:
根目录两个文件:show.aspx 、 MyPage.cs
show.aspx:
//-------------------------------------------------------------------
<% @ Page Src="MyPage.cs" Inherits="MyLabel" Debug=true%>
<script Language="C#" runat="server">
public void Page_Load(object souce,EventArgs E){
DoMethod();
}
</script>
<form runat=server>
<asp:Label id="Message" EnableViewState="true" style="font: arial 11pt;" runat="server"/>
</form>
//---------------------------------------------------------------------
MyPage.cs
//----------------------------------------------------------------------
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public class MyLabel : Page{
public Label Message;
public void DoMethod(){
Message.Text="KingApex";
} //--end
}
//----------------------------------------------------------------------
以上代码写法能够正常运行
在根目录又建了两个文件 show1.aspx 、 MyPage1.cs
MyPage1.cs
//------------------------------------------------
namespace aSpace{
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public class MyLabel : Page{
public Label Message;
public void DoMethod(){
Message.Text="KingApex";
} //--end
}
}//--end MyPage namespace
//---------------------------------------------------
在根目录下有个bin目录 将MyPage1.cs编译在bin里了
show1.aspx 报错 :(
<%@ import Namespace="aSpace" %>
<script Language="C#" runat="server">
public void Page_Load(object souce,EventArgs E){
DoMethod();
}
</script>
<form runat=server>
<asp:Label id="Message" EnableViewState="true" style="font: arial 11pt;" runat="server"/>
</form>
编译器错误信息: CS0103: 名称“DoMethod”在类或命名空间“ASP.show1_aspx”中不存在
我想可能是我太幼稚了 换个写法吧:
show1.aspx 异常 :(
<%@ Page Language="C#" Debug=true %>
<%@ import Namespace="aSpace" %>
<script Language="C#" runat="server">
public void Page_Load(object souce,EventArgs E){
MyLabel alabel= new MyLabel();
alabel.DoMethod();
}
</script>
<form runat=server>
<asp:Label id="Message" EnableViewState="true" style="font: arial 11pt;" runat="server"/>
</form>
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
请高手指点!