1

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

 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;
}
4

3 回答 3

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;
}
于 2012-10-31T14:07:24.817 回答
0

您可以将适当的 OnSelectedChange (somwthing) 事件处理程序添加到 DropDownList,然后当事件触发时,您可以捕获它并执行您想要的任何操作,您可以在客户端或服务器端执行此操作。

于 2012-10-31T14:07:27.973 回答
0

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

txt.SelectedIndexChanged += new EventHandler(YourMethodName)

于 2012-10-31T14:09:46.820 回答