呼救!

xf198903 2011-02-15 03:48:14
下面是我的测试代码:

我是啊先循环Repeater 里的然后根据Repeater 里的id号 来查出数据 绑定到repeater里的DropDownList1里去的。
老是取不到HiddenField1里的id号的值什么情况啊。??

错误 是未将对象引用到。。

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>

<%# Eval("chexi") %><br />
<%# Eval("cartype") %><br />
<asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("id") %>' />
<asp:Label ID="Label1" runat="server" Text='<%# Eval("id") %>'></asp:Label>
<%
int a = Convert.ToInt32((Repeater1.Items[0].FindControl("Label1") as HiddenField).Value);

string sql = "select * from car_chexing where fatherid=" + a;
(Repeater1.FindControl("DropDownList1") as DropDownList).DataTextField = "chexing";
(Repeater1.FindControl("DropDownList1") as DropDownList).DataValueField = "chexing";
(Repeater1.FindControl("DropDownList1") as DropDownList).DataSource = DBHelp.GetTable(sql); ;
(Repeater1.FindControl("DropDownList1") as DropDownList).DataBind();
%>
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
</ItemTemplate>
</asp:Repeater>
...全文
129 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫魂一号 2011-02-15
  • 打赏
  • 举报
回复
我晕。。原来楼主你耍人玩啊。。
如果Repeater1还没绑定就是空的当然没值也没控件啦。如果是行绑定事件。等绑定了数据在用事件源才可以触发你要的东西啥
xf198903 2011-02-15
  • 打赏
  • 举报
回复
嗯。马上给分。
迷茫的凡人 2011-02-15
  • 打赏
  • 举报
回复
有用的话,帮忙结贴给个分
迷茫的凡人 2011-02-15
  • 打赏
  • 举报
回复
设个断点,单步执行看看哪里为null值
xf198903 2011-02-15
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 jls6810 的回复:]
试试下面的
Label a = Repeater1.Items[0].FindControl("Label1") as Label;
HiddenField1.value=a.什么的,我现在没vs,你自己看有什么能取值的
[/Quote]

哦。谢谢我好取值了。

e.Item.FindControl这样就可以取值了。

谢谢啦。
迷茫的凡人 2011-02-15
  • 打赏
  • 举报
回复
试试下面的
Label a = Repeater1.Items[0].FindControl("Label1") as Label;
HiddenField1.value=a.什么的,我现在没vs,你自己看有什么能取值的
xf198903 2011-02-15
  • 打赏
  • 举报
回复
为什么这样取不到值呢

int a = Convert.ToInt32((Repeater1.FindControl("HiddenField1") as HiddenField).Value);

xf198903 2011-02-15
  • 打赏
  • 举报
回复
((DropDownList)e.Item.FindControl( "ddll ")).Text.ToString()
这样取可以取了。我的神啊。
迷茫的凡人 2011-02-15
  • 打赏
  • 举报
回复
你是从数据库里读取的数据,Items[0]只能取第一行的数据,后面的取不到
紫魂一号 2011-02-15
  • 打赏
  • 举报
回复
也许你用到母版页了。。id发生了改变,你查看一下浏览页面的源码,看那个id是不是变了
xf198903 2011-02-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hualilihua 的回复:]
把这个去掉了Items[0] 也不行么?
[/Quote]

对的。去掉还是不行。以前用gridview没这个情况的啊。

什么情况啊
回头是岸 2011-02-15
  • 打赏
  • 举报
回复
把这个去掉了Items[0] 也不行么?
xf198903 2011-02-15
  • 打赏
  • 举报
回复
int a = Convert.ToInt32((Repeater1.FindControl("HiddenField1") as HiddenField).Value);

这样的话也报错。还是那个错误。我刚才就是那样做的。

new_fengzi 2011-02-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hualilihua 的回复:]
int a = Convert.ToInt32((Repeater1.Items[0].FindControl("Label1") as HiddenField).Value);


Lable1改为HiddenField1不就可以啦
[/Quote]
+
回头是岸 2011-02-15
  • 打赏
  • 举报
回复
int a = Convert.ToInt32((Repeater1.Items[0].FindControl("Label1") as HiddenField).Value);


Lable1改为HiddenField1不就可以啦

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧