我发些关键性代码
<ItemTemplate>
<asp:TextBox ID="referLabel" runat="server" Text='<%# Eval("refer") %>'></asp:TextBox>
</ItemTemplate><asp:Button ID="Button4" runat="server" Text="提 交" Visible="false" OnClick="Button4_Click" />CS页面:
protected void Button4_Click(object sender, EventArgs e)
{
string referLabel =Convert.ToString( DataList1.Items[0].FindControl("referLabel") as TextBox);//这样写好像错的
}
问题如标题,如何在CS页面获取TextBox的值
<ItemTemplate>
<asp:TextBox ID="referLabel" runat="server" Text='<%# Eval("refer") %>'></asp:TextBox>
</ItemTemplate><asp:Button ID="Button4" runat="server" Text="提 交" Visible="false" OnClick="Button4_Click" />CS页面:
protected void Button4_Click(object sender, EventArgs e)
{
string referLabel =Convert.ToString( DataList1.Items[0].FindControl("referLabel") as TextBox);//这样写好像错的
}
问题如标题,如何在CS页面获取TextBox的值
那你就要设置按钮的CommandName属性 随便什么值都可以
当然 6楼说的对 有些关键字是不能占用的
如果还有其他的需要 可以写CommandArgument的值
然后再你的ItemCommand事件里
写if(e.CommandName==“你写的那个值”){......后面的自己搞定吧}
外面的话 protected void Button1_Click(object sender, EventArgs e)
{
TextBox tx = DataList1.Items[0].FindControl("TextBox1") as TextBox;
Response.Write(tx.Text);
}
onitemcommand="DataList1_ItemCommand">
<HeaderTemplate>
<table>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#Eval("Article_Id") %></td>
<td>
<asp:TextBox ID="TextBox1" runat="server" Text='<%#Eval("Article_Title") %>'></asp:TextBox></td>
<td>
<asp:Button ID="Button2" runat="server" Text="Button" CommandName="getText" CommandArgument='<%#Eval("Article_Title") %>' />
<!--CommandArgument绑定的值和你的TextBox字段一样-->
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table></FooterTemplate>
</asp:DataList>
<%=Number %>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "getText")
{
Response.Write(e.CommandArgument);
}
}