Catch下拉选择文本在转发器内

时间:2012-10-31 14:03:51

标签: c# asp.net

我在转发器中有下拉列表,每当更改所选文本时,我必须在文本框中显示它我该怎么做?

 protected void Repeater1_ItemCreated(object sender, RepeaterItemEventArgs e)
{
    DropDownList ddl = (DropDownList)e.Item.FindControl("DropDownList6");
    TextBox txt = (TextBox)e.Item.FindControl("TextBox4");
    txt.Text = ddl.SelectedItem.Text;
}

3 个答案:

答案 0 :(得分:1)

首先,不要使用ItemCreated,因为它在生命周期中过早触发(对于ViewState)。您还必须先检查ItemType

而是直接使用DropDownLists SelectedIndexChanged事件:

protected void Ddl_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl   = (DropDownList)  sender;
    RepeaterItem item  = (RepeaterItem)  ddl .NamingContainer;
    TextBox txt        = (TextBox) item.FindControl("TextBox4");
    txt.Text           = ddl.SelectedItem.Text;
}

答案 1 :(得分:0)

你可以向DropDownList添加适当的OnSelectedChange(somwthing)事件处理程序,然后当事件触发时你抓住它并做任何你想做的事情,你可以在客户端或服务器端都这样做。

答案 2 :(得分:0)

您需要使用添加处理程序将每个下拉控件与相应的事件处理程序相关联。我面前没有VS,但它应该是这样的:

txt.SelectedIndexChanged + = new EventHandler(YourMethodName)