asp.net(vb)动态添加的控件 取值时报错未将对象引用到实例设置到对象的实例。

asp.net实现动态表单的生成
[问题点数:100分,结帖人njupl]
asp.net实现动态表单的生成
[问题点数:100分,结帖人njupl]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。System.NullReferenceException:未将对象引用设置到对象的实例错误???-asp.net-电脑编程网System.NullReferenceException:未将对象引用设置到对象的实例错误???作者:fxry6669 和相关&&page_load事件中if (!Page.IsPostBack)&
ds = new DataSet();&
string path = Server.MapPath(&AccpCash.xml&);&
ds.ReadXml(path);&
foreach (DataRowView
dr in ds.Tables[0].DefaultView)&
ddltype.Items.Add(dr[&name&].ToString());&
ddltype.SelectedIndex = 0;&
}onclick事件中&
DataRow dr = ((DataRow[])ds.Tables[0].Select(&name='& + ddltype.SelectedItem.Text + &'&))[0];
就报 这个错&
------回答---------------其他回答(8分)---------楼主先了解一下x页面的生存周期。在页面被加载的时候,你在Page_Load中初始化了ds,此时ds是OK的,但当完成整个页面的加载后,页面就会被dispose了,此时你的ds就不存在了。那么当运行ds.Tables时,ds肯定为空了。你可以用ViewState在客户端保存这个dsC# code
private DataSet MyDS
{
if (ViewState[&ds&] != null)
return (DataSet)ViewState[&ds&];
ViewState[&ds&] =
然后,在使用ds的地方,就替代的使用这个MyDSC# code
DataRow dr = ((DataRow[])MyDS.Tables[0].Select(&name='& + ddltype.SelectedItem.Text + &'&))[0];
我手头没有.NET,不能调试,但希望能够帮到你。------其他回答(2分)---------if (!Page.IsPostBack)这个去掉,为啥?自己想------回答---------------其他回答(8分)---------楼主先了解一下x页面的生存周期。在页面被加载的时候,你在Page_Load中初始化了ds,此时ds是OK的,但当完成整个页面的加载后,页面就会被dispose了,此时你的ds就不存在了。那么当运行ds.Tables时,ds肯定为空了。你可以用ViewState在客户端保存这个dsC# code
private DataSet MyDS
{
if (ViewState[&ds&] != null)
return (DataSet)ViewState[&ds&];
ViewState[&ds&] =
然后,在使用ds的地方,就替代的使用这个MyDSC# code
DataRow dr = ((DataRow[])MyDS.Tables[0].Select(&name='& + ddltype.SelectedItem.Text + &'&))[0];
我手头没有.NET,不能调试,但希望能够帮到你。------其他回答(2分)---------if (!Page.IsPostBack)这个去掉,为啥?自己想相关资料:|||||||System.NullReferenceException:未将对象引用设置到对象的实例错误???来源网络,如有侵权请告知,即处理!编程Tags:                &                    温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
阅读(566)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_094',
blogTitle:'ASP.NET调试时显示的错误及原因',
blogAbstract:'【错误提示】未将对象引用设置到对象的实例。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
行 39: 行 40:&&&&&&&&&&&& QID=Request.QueryString[\"QID\"];行 41:&&&&&&&&&&&& title=Server',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}动态添加的控件如何取其值
for(int & i=0;i &9;i++)
checkbox & c=new & check();
this.controls.add(c);
然后如何取其值呢?
我一点取值按钮,上面添加的控件就消失了,在网了搜了半天,也没找到答案
this是哪个对象?
是当前页面,或者 & 当前页面的某个容器,
跟这也有关系吗?1:
checkbox & c & = & new & check()
c.checkedchanged & += & new & EventHandler(cb_CheckedChanged)
void & cb_CheckedChanged(..)
foreach(checkbox & tmp & in & this.controls)
foreach(checkbox & tmp & in & this.controls)
这段代码基本不运行就过去了,就是说,在提交的时候,那些动态添加的控件已经消失了,
你可以试一下,两个按钮,一个是生成控件,另一个是取刚生成这些控件的值,点取值按钮时,页面上已经生成的控件就消失了,不能保持这些控件,
第一段代码没看明白目的,是要动态添加控件吗生成:
for(i=0;i &10;i++)
& RadioButtonList & chkmc & = & new & RadioButtonList();
& chkmc.ID & = &
&chkmc & & + & i.ToString();
& myPanel.Controls.Add(chkmc);
string & mcs= & &;
& for & (int & i & = & 0; & i &
& & 10 & ; & i++)
& if & (Request.Form[ &chkmc & & + & i.ToString()] & != & null)
& mcs & += & Request.Form[ &chkmc & & + & i.ToString()];
这是我之前写的,应该能用for(int & i & = & 0; & i &
& & 10; & i++)
& CheckBox & cb & = & new & CheckBox();
& cb.Name & = &
&CustomCb & & + &
& this.Conttrols.Add(cb);
for(int & i & = & 0; & i &
& & 10; & i++)
& CheckBox & cb & = & this.Controls.FindControl( &CustomCb & & + & i) & as & CheckB
& bool & checked & = & cb.C
}XIEWH() & 说的方法可以,但是我没有完全说明我的情况,就是动态添加的控件不是系统自带的控件,是用户控件,自定义控件里边还有系统控件,要取那个值才行,如果只是系统控件,你的答案是百分,
思路还是反射取值,
刚才又想到一个思路,就是做一个DataTable,然后用如DataList绑定到DataTable,在DataList里动态添加用户控件,这样就可以取值了,我先试试去,待会儿回来结贴,大家谁有好的办法,贴出来共同探讨吧,rroo(天之痕),connynet(暗目)的办法都没有解决点取值按钮后,保持已添加的控件,
如果把动态添加控件的代码放入Page_Load里,是没有问题的,这个问题在昨天我已经验证过,
但是问题是不能在Page_Load里边写,因为到底添加多少个用户控件是根据页面上用户选择的产品来定的,就是添加多少个不确定,举例如一个参观景点需要一天的时间,那么客户选择了十个景点就要动态添加十个用户控件,这个数字无法直接在Page_Load里指定,
谢谢楼上各位的热心帮助,我把我刚才想的思路都试验一下,如果有正确答案我会来结贴的!
PS祝大家春节愉快,给各位同行拜个早年!up感谢
[动网]slightboy,wyd1520,
[经典]flash665,yangliwei,7421021 & ,martin0728
[CSDN]seawolflover,jxf654,NekChan(骑蜗牛看星星),bestshl(快乐的Coder),connynet(暗目),XIEWH,rroo(天之痕) & ,chxtp,
[百度知道]_冻结_ & ,drippy,xiangpi_ws
[QQ]★.凍結~(),深灰色()
Default.aspx.cs
using & System.D
using & System.C
using & System.C
using & System.W
using & System.Web.S
using & System.Web.UI;
using & System.Web.UI.WebC
using & System.Web.UI.WebControls.WebP
using & System.Web.UI.HtmlC
public & partial & class & _Default & : & System.Web.UI.Page
& //全局静态的链表
& public & static & ArrayList & list & = & new & ArrayList();
& protected & void & Page_Load(object & sender, & EventArgs & e)
& protected & void & Button1_Click(object & sender, & EventArgs & e)
& list.Clear();
& for & (int & i & = & 0; & i &
& & Convert.ToInt32(TextBox1.Text); & i++)
& TextBox & t & = & new & TextBox();
& t.ID & = &
&text & & + &
& list.Add(t);
& Panel1.Controls.Add(t);
& protected & void & Button2_Click(object & sender, & EventArgs & e)
& string & s & = &
& for & (int & i & = & 0; & i &
& & list.C & i++)
& TextBox & TextBox1 & = & (TextBox)list[i];
& s & += &
&第 & & + & (i & + & 1).ToString() & + &
&个文本框的值是: & & + & Request[TextBox1.ID] & + &
& TextBox2.Text & = &
Default.aspx
&%@ & Page & Language= &C# & & AutoEventWireup= &true & & CodeFile= &Default.aspx.cs & & Inherits= &_Default & & %&
&!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&
&form & id= &form1 & & runat= &server &&
& 生成控件的个数: &asp:TextBox & ID= &TextBox1 & & runat= &server && 1 &/asp:TextBox&
&asp:Button & ID= &Button1 & & runat= &server & & OnClick= &Button1_Click & & Text= &生成 & & /&
&asp:Panel & ID= &Panel1 & & runat= &server & & BackColor= &#E0E0E0 & & Height= &173px & & Width= &545px &&
&/asp:Panel&
&asp:Button & ID= &Button2 & & runat= &server & & OnClick= &Button2_Click & & Text= &取值 & & /&
&asp:TextBox & ID= &TextBox2 & & runat= &server & & Height= &211px & & TextMode= &MultiLine & & Width= &538px &&
&/asp:TextBox&
WebUserControl.ascx
&%@ & Control & Language= &C# & & AutoEventWireup= &true & & CodeFile= &WebUserControl.ascx.cs & & Inherits= &WebUserControl & & %&
&asp:TextBox & ID= &TextBox1 & & runat= &server &&
&/asp:TextBox&
WebUserControl.ascx.cs
using & System.D
using & System.C
using & System.C
using & System.W
using & System.Web.S
using & System.Web.UI;
using & System.Web.UI.WebC
using & System.Web.UI.WebControls.WebP
using & System.Web.UI.HtmlC
public & partial & class & WebUserControl & : & System.Web.UI.UserControl
& protected & void & Page_Load(object & sender, & EventArgs & e)
主要用到了静态连接表
甭管怎么说,这个问题难我一个春节。。。。。
记录一下现在的心情~哼哼哈嘿
Android开发资料库 (C)

我要回帖

更多关于 网上报税引用对象实例 的文章

 

随机推荐