读书人

?求救一个VS05中ASP.NET用户控件的有

发布时间: 2012-01-10 21:26:51 作者: rapoo

?????求救,一个VS05中ASP.NET用户控件的问题,在线等高手
下面是一个用户控件new_mov.ascx,里面包含两个控件Image Image1和HyperLink HyperLink1
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class new_mov : System.Web.UI.UserControl
{

private string M_id=String.Empty ;
private string M_imageurl = String.Empty;
private string M_movname = String.Empty;

//空构造
public new_mov()
{ }
//构造2
public new_mov(string tid,string timageurl,string tmovname)
{
M_id = tid;
M_imageurl = timageurl;
M_movname = tmovname;

}
#region 控件属性
public string id
{
set { M_id = value; }
get { return M_id; }
}
public string imageurl
{
set { M_imageurl = value; }
get { return M_imageurl; }
}
public string name
{
set { M_movname = value; }
get { return M_movname; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
Image1.ImageUrl = this.imageurl;
HyperLink1.NavigateUrl = this.id;
HyperLink1.Text = this.name;

}

}
下面是在Default.aspx中引用它,目的是动态生成控件
Default.aspx源

<%@ Page Language= "C# " AutoEventWireup= "true " CodeFile= "Default.aspx.cs " Inherits= "_Default " %>
<%@ Reference VirtualPath= "~/new_mov.ascx " %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN " "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

<html xmlns= "http://www.w3.org/1999/xhtml " >
<head runat= "server ">
<title> 无标题页 </title>
</head>
<body>
<form id= "form1 " runat= "server ">
<div>
<asp:Label ID= "Label1 " runat= "server " Text= "Label "> </asp:Label> </div>
</form>
</body>
</html>
代码页
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

new_mov aa = new new_mov( "100 ", "a.jpg ", "test ");
Page.Controls.Add(aa);


}
}
运行出现
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 50: protected void Page_Load(object sender, EventArgs e)
行 51: {
行 52: Image1.ImageUrl = "this.imageurl ";
行 53: HyperLink1.NavigateUrl = "this.id ";
行 54: HyperLink1.Text = "this.name ";


源文件: d:\WebSitetest\new_mov.ascx.cs 行: 52

调式中发现用户控件中的两个控件,Image1和HyperLink1都为null




[解决办法]
用户控件不是这样加载的
[解决办法]
学习~~~~~~~~~~`
[解决办法]
学习

读书人网 >asp.net

热点推荐