public DataTable checkedInfo; protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
checkedInfo = new DataTable("aaa");
checkedInfo.Columns.Add("id", System.Type.GetType("System.Int32"));
checkedInfo.Columns.Add("src", System.Type.GetType("System.String"));
checkedInfo.Columns.Add("title", System.Type.GetType("System.String"));
this.BindRepeaterData(2);
}
}
//。图片列表加载,略public void CheckBoxChange(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked == true)
{
Response.Write(checkedInfo.Rows.Count.ToString());
}
else
{
}
}
从数据库里面读图片列表,建的datatable存勾选的图片信息,
checkbox勾选事件时,就出现了“未将对象引用设置到对象的实例”错误,有什么办法解决啊?
急,在线等
{
if (!IsPostBack)
{
checkedInfo = new DataTable("aaa");
checkedInfo.Columns.Add("id", System.Type.GetType("System.Int32"));
checkedInfo.Columns.Add("src", System.Type.GetType("System.String"));
checkedInfo.Columns.Add("title", System.Type.GetType("System.String"));
this.BindRepeaterData(2);
}
}
//。图片列表加载,略public void CheckBoxChange(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked == true)
{
Response.Write(checkedInfo.Rows.Count.ToString());
}
else
{
}
}
从数据库里面读图片列表,建的datatable存勾选的图片信息,
checkbox勾选事件时,就出现了“未将对象引用设置到对象的实例”错误,有什么办法解决啊?
急,在线等
你的checkedInfo应该是没有值
checkedInfo.Rows.Count.ToString()
这句有问题..
checkedInfo为NULL.类为你进入CheckBoxChange事件前走的Page_Load,里面不会进入取数据的!IsPostBack
所以在Page_Load走完 checkedInfo就是NULL.
Null.Rows肯定会报错.
恩 是个 有什么解决办法么??把取数据的方法放!IsPostBack外面不合适哈
是因为页面回发时checkedInfo在页面首次加载this.BindRepeaterData(2)里面填充的数据都没有了么
Response.Write(checkedInfo.Rows.Count.ToString())
建议用
checkedInfo = (DataTable)repeater1.DataSource;
Response.Write(checkedInfo.Rows.Count.ToString())
对..没错..你理解的很对..不过可以用ViewState["checkedInfo "]来存..
下面的试试protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
checkedInfo = new DataTable("aaa");
checkedInfo.Columns.Add("id", System.Type.GetType("System.Int32"));
checkedInfo.Columns.Add("src", System.Type.GetType("System.String"));
checkedInfo.Columns.Add("title", System.Type.GetType("System.String"));
ViewState["checkedInfo "]=checkedInfo;
this.BindRepeaterData(2);
}
}
public void CheckBoxChange(object sender, EventArgs e)
{
if (((CheckBox)sender).Checked == true)
{
if(ViewState["checkedInfo "]=!=null)
{
checkedInfo = (DataTable)ViewState["checkedInfo "];
Response.Write(checkedInfo.Rows.Count.ToString());
}
}
else
{
}
}
我以前也碰到这样的问题
是用ViewState解决的
ViewState只是保存当页的内容
用这个比较合适