高分求FindControl checkbox datalist问题

jlqidan 2003-08-07 10:49:27
EditUnChecked.aspx文件:
<%@ Register TagPrefix="portal" TagName="Banner" Src="~/DesktopPortalBanner.ascx" %>
<%@ Page Language="c#" CodeBehind="EditUnChecked.aspx.cs" AutoEventWireup="false" Inherits="ASPNetPortal.EditUnChecked" %>
<HTML>
<body>
<form id="Form1" method="post" runat="server">
<asp:datalist id="myList1" runat="server" Width="100%">
<ItemTemplate>
<TABLE>
<TR>
<asp:CheckBox id="Save" runat="server" AutoPostBack="False"/><B>Save to Favorites</B>
<asp:HyperLink id=NH2 runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"Title") %>' Name="NH2" ToolTip='<%# DataBinder.Eval(Container.DataItem,"Description") %>'>
</asp:HyperLink>
<asp:TextBox id=ItemID Text='<%# DataBinder.Eval(Container.DataItem,"ItemID") %>' Runat="server" TextMode="SingleLine" Visible="True">
</asp:TextBox></TR>
</TABLE>
</ItemTemplate>
</asp:datalist><br>
<asp:button id="updateButton" style="Z-INDEX: 101; LEFT: 24px; POSITION: absolute; TOP: 480px" runat="server" Text="Button"></asp:button>
</form>
</body>
</HTML>

EditUnChecked.aspx.cs文件:
。。。
protected System.Web.UI.WebControls.TextBox ItemID;
protected System.Web.UI.WebControls.Button updateButton;
protected System.Web.UI.WebControls.DataList myList1;
。。。

public void updateButton_Click(object sender,System.EventArgs e){
int i=0;

foreach (DataListItem anItem in this.myList1.Items){
CheckBox isDeleted;
isDeleted =(CheckBox)anItem.FindControl("Save");
if (isDeleted.Checked){
int ItemID=int.Parse(((TextBox)myList1.Items[i].FindControl("ItemID")).Text);
。。。
}
i=i+1;
}
}
弄了一天也没取到checkbox的值(其实是取到了。可是怎么都是false,如果初始值是true的话,那得到的就是true,也就是没法得到它改变了的值)。但是可以取到ID为ItemID的textbox控件的值和HyperLink id=NH2的值。
哪位大侠指点迷津?????
...全文
87 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlqidan 2003-08-08
  • 打赏
  • 举报
回复
saucer(思归, MS .NET MVP) :
高人呀,谢谢你!!!
jlqidan 2003-08-08
  • 打赏
  • 举报
回复
数据绑定没问题,控件相应的值都正确无误。并且textbox控件和HyperLink控件的绑定值都可以取到。如下两行
int ItemID=int.Parse(((TextBox)myList1.Items[i].FindControl("ItemID")).Text);
string str=((HyperLink)myList1.Items[i].FindControl("NH2")).Text;

.....
myList1.DataSource=dt;
myList1.DataBind();
....
saucer 2003-08-07
  • 打赏
  • 举报
回复
how did you bind the DataList, make sure it is inside

if (!IsPostBack)
{
//myList1.DataBind();
}

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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