首页 新闻 会员 周边

关于前台和后台得值的问题!

0
悬赏园豆:10 [已关闭问题]

在页面上的显示是这样的:

1:<asp:TextBox ID="txt1" runat="server"></asp:TextBox>

2:<asp:TextBox ID="txt2" runat="server"></asp:TextBox>

3:<asp:TextBox ID="txt3" runat="server"></asp:TextBox>

我想在后台循环得到TextBox中的值(声明:在前台TextBox的ID值已经发生变化,不能通过后台直接得到了),有没有什么办法让后台得到他们的值!

 

Impossible的主页 Impossible | 初学一级 | 园豆:72
提问于:2010-04-29 09:24
< >
分享
其他回答(1)
0

1:<asp:TextBox ID="txt1" runat="server"></asp:TextBox><br />
2:<asp:TextBox ID="txt2" runat="server"></asp:TextBox><br />
3:<asp:TextBox ID="txt3" runat="server"></asp:TextBox><br />
<asp:Button ID="BtnSend" runat="server" Text="遍历获取" onclick="BtnSend_Click" />

 

public string result = "";
protected void BtnSend_Click(object sender, EventArgs e)
{
    GetControls(Page);//也可以传入要遍历的父控件,这里传是当前页面。
    Response.Write(result);
}

//遍历控件
private void GetControls(System.Web.UI.Control pageControls)
{
    foreach (System.Web.UI.Control controlTemp in pageControls.Controls)
    {
        if (controlTemp.HasControls())
        {
            GetControls(controlTemp);
        }
        else if (controlTemp is TextBox)
        {
            TextBox tempTxt = (TextBox)controlTemp;
            result += tempTxt.ID + ":" + tempTxt.Text;
        }
    }
}

Astar | 园豆:40805 (高人七级) | 2010-04-29 09:53
0

不太明白楼主的意思,前台的ID值已经发生变化?是指ClientID?还是你动态修改了ID?这二种情况都是可以获取到ID的呀。另外,还可以在客户端获取各个控件的值,然后通过客户端调用WebService/WCF Method将数据传回后台处理

上不了岸的鱼 | 园豆:4613 (老鸟四级) | 2010-04-29 12:20
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册