datalist有个label控件和数据源绑定数据,但是在itemcommand里面取不到绑定的值,不知道该怎么解决,请各位老大给出合理的方法。
解决方案 »
- 如何在脚本程序中使用数据集中的数据
- 菜鸟请教个GridView中ItemTemplate的问题。
- 判断控件是否获得焦点
- SQL语句,解决马上结贴!
- MySql数据的命令窗口打开就自动关掉.怎么解决.
- dropdownlist 绑定的文件显示成图像怎么实现!!!
- gridview中如何给FooterTemplate中的DropDownList控件赋值?
- 在线等待,着急,关于动态生成控件
- datagrid模板中选择第一个dropdownlist后根据第一个的值绑定第二个dropdownlist
- 取Form中某个组件的个数的方法是什么呢?(在线等待!!!)
- 怎么用文件路径上传文件?
- 水晶报表,登陆失败 问题
<asp:Label id="lblID" runat="server" Width="0px" Height="0px">
<%# DataBinder.Eval(Container.DataItem,"id") %>
</asp:Label>
<asp:Label id="lblPID" runat="server" Width="0px" Height="0px">
<%# DataBinder.Eval(Container.DataItem,"parentid") %>
</asp:Label>
</ItemTemplate>后台itemcommand
Label myid = (Label)e.Item.FindControl("lblID");
Label mypid = (Label)e.Item.FindControl("lblPID");
string id = myid.Text;-为空值但是实际显示的时候却是有值
string pid = mypid.Text;-为空值但是实际显示的时候却是有值page_load
if(!IsPostBack)
{
//查询xml文件,绑定name
string mypath = Server.MapPath("A.xml");
DataSet myds = new DataSet();
myds.ReadXml(mypath);
DataList1.DataSource = myds.Tables[1];
DataList1.DataBind();
}
我要的不仅仅是那个id!!!
e.Item.ItemType == ListItemType.AlternatingItem)
{
////
}
你的数据源是啥,DataReader?都可以得到的
我的数据源?呵呵,我的page_load里面不是写的很明白么?
按你说的做了,可是还是一样的没有结果
即:
<asp:Label id="lblID" runat="server" Width="0px" Height="0px" text=<%# DataBinder.Eval(Container.DataItem,"id") %>>
</asp:Label>
我曾经把databinder这段语句放到textbox的属性设置时候text属性里面但是在html体现的还是我上面那种显示。为什么要这样专门写在<>里面就可以了 ?
runat="server" DataSource="<%# DataSet12 %>" DataMember="Staff" DataKeyField="SName" AutoGenerateColumns="False">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Label Runat="server" ID="dd" Text='<%# DataBinder.Eval(Container.DataItem,"SName")%>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:ButtonColumn Text="选择" CommandName="Select"></asp:ButtonColumn>
</Columns>
</asp:DataGrid></FONT>
'在此处放置初始化页的用户代码
Me.OleDbDataAdapter1.Fill(Me.DataSet12)
Me.DataGrid1.DataSource = Me.DataSet12
Me.DataBind()
End Sub Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
If e.CommandName = "Select" Then
Response.Write(CType(e.Item.FindControl("dd"), System.Web.UI.WebControls.Label).Text)
End If
End Sub
--------- 没有明白你的意思。Label在IE上的显示,这两种方式都是一样的。不同的是,页面的__VIEWSTATE不一样,在其中它记录了Label的Text信息.
我的意思就是我在设计的时候就把label的text属性设置为DataBinder.Eval(Container.DataItem,"id"),可是当再次进入html设计页面的时候发现内容还是
<asp:Label id="lblPID" runat="server" Width="0px" Height="0px">
<%# DataBinder.Eval(Container.DataItem,"parentid") %>
</asp:Label>类似这样的!
“页面的__VIEWSTATE不一样,在其中它记录了Label的Text信息.”那这两种方式如果是写在<>里面就有viewstate能保持状态?
有了ID在取其他的值应该没问题的啊?