asp.net - AJAX DropDownExtender : How to get the value from a GridView into a TextBox?

标签 asp.net dropdownextender

我有一个 DropDownExtender,其中包含 TextBox 的 TargetControl 和包含 GridView 的 Panel 的 DropDownControl。我使用 GridView 以便可以显示多列,但我愿意接受其他建议。

当用户选择 GridView 中的一行时,我想使用 GridView 中特定列的值填充 TextBox。但是,GridView OnSelectedIndexChanged 事件不会在后面的代码中触发。

如您所见,没有真正的代码可言。我不知道该使用什么事件。显然 OnChange/OnSelect 事件适用于其他控件,即 ListBox,只是想知道是否有人使用 GridView 取得了成功。

<asp:DropDownExtender ID="DropDownExtender2" runat="server" 
       TargetControlID="TextBox2"
       DropDownControlID="Panel1">
</asp:DropDownExtender>
<asp:TextBox ID="TextBox1" runat="server" ></asp:TextBox>
<asp:Panel ID="Panel1" runat="server" >
    <asp:GridView ID="GridView1" runat="server"></asp:GridView>
</asp:Panel>

最佳答案

您的问题的解决方案如下:

ASPX 代码:

> <cc1:DropDownExtender ID="DropDownExtender2" runat="server"
> TargetControlID="TextBox1"
>         DropDownControlID="divDataDropdown">
>     </cc1:DropDownExtender>
>     <asp:TextBox ID="TextBox1" runat="server" AutoCompleteType="None" ></asp:TextBox>
>     <div id="divDataDropdown" style="overflow-y:scroll; height:200px;" runat="server" >
>         <asp:GridView ID="GridView1" runat="server" onselectedindexchanged="GridView1_SelectedIndexChanged">
>             <Columns>
>                 <asp:CommandField HeaderText="Select Data" ShowSelectButton="True" />
>             </Columns>
>         </asp:GridView>
>     </div>

隐藏代码:

>  public partial class WebForm1 : System.Web.UI.Page
>     {
>         protected void Page_Load(object sender, EventArgs e)
>         {
>             List<Employee> lstEmployee = new List<Employee>();
>             for (int RowDataIndex = 0; RowDataIndex < 50; RowDataIndex++)
>             {
>                 Employee objEmployee = new Employee();
>                 objEmployee.Id = RowDataIndex;
>                 objEmployee.Name = "Employee" + RowDataIndex;
>                 lstEmployee.Add(objEmployee);
>             }
>             GridView1.DataSource = lstEmployee;
>             GridView1.DataBind();
>         }
> 
>         protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
>         {
>             TextBox1.Text = GridView1.SelectedRow.Cells[2].Text;
>         }
>     }
> 
>     public class Employee
>     {
>         public int Id { get; set; }
>         public string Name { get; set; }
>     }

关于asp.net - AJAX DropDownExtender : How to get the value from a GridView into a TextBox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14189942/

相关文章:

c# - ASP.NET MVC 6 基于 HTTP 状态码处理错误

c# - jQuery AJAX 回发到 WebMethod 仅返回第一行结果

c# - ASP.net:在 TextMode = "Number"中通过键盘键入时,TextBox 允许超出范围的数字

asp.net - 文本框数据绑定(bind)

c# - 找不到 DinkToPdf dll libwkhtmltox