CS代码:
public partial class Default5 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {    }
    private DataTable GetTable()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("COL", typeof(string));
        DataRow dr=dt.NewRow();
        dr["COL"] = "123";
        dt.Rows.Add(dr);
        return dt;
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        DataTable dt = GetTable();
        PlaceHolder1.Controls.Clear();
        for (int i = 0; i < 3; i++)
        {
            GridView gv = new GridView();
            gv.DataSource = dt;
            gv.DataBind();
            ChangeGv(gv);
            PlaceHolder1.Controls.Add(gv);
        }    }
    private void ChangeGv(GridView gv)
    {        
        gv.Caption = DropDownList1.Text;
    }
}
aspx代码:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:DropDownList ID="DropDownList1" runat="server" Height="24px" Width="100px">
            <asp:ListItem>a</asp:ListItem>
            <asp:ListItem>b</asp:ListItem>
            <asp:ListItem>c</asp:ListItem>
        </asp:DropDownList>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
        <asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
    
    </div>
    </form>
</body>
</html>选择不同的下拉列表框的值,点击Button, GridView中的Caption不变!!!! 

解决方案 »

  1.   

      gv.Caption = DropDownList1.Text;
    是这一句出错了吧?试试这个DropDownList1.SelectedItem.Text
      

  2.   


    protected void Button1_Click(object sender, EventArgs e)
    {
                DataTable dt = GetTable();
                PlaceHolder1.Controls.Clear();
                for (int i = 0; i < 3; i++)
                {
                    GridView gv = new GridView();
                    gv.DataSource = dt;
                    gv.DataBind();
                    gv.EnableViewState = false;
                    ChangeGv(gv);
                    PlaceHolder1.Controls.Add(gv);
                }}