StringBuilder sb=new StringBuilder();
sb.Append("for(int i=0;i<5;i++){");
sb.Append("TextBox tb=new TextBox();");
sb.Append("tb.ID=\"com\"+i.ToString();");
sb.Append("tb.Text=\"姓名\"+i.ToString();");
sb.Append("this.FindControl(\"Form1\").Controls.Add(tb);}");
我要如何才能执行这段代码,在Form1中生成5个TextBox控件呀?
或者:
根据一个ID值,查找到此控件,并重写此控件的值呀?
例如,根据DataGrid的ID值,查找到此DataGrid控件,并重写此控件的DataBound事件,要如何写呀?
还有一个贴子,也是这个问题,有50分,总是解决,马上给分,再加100分都没所谓
http://community.csdn.net/Expert/topic/4485/4485930.xml?temp=.8135797
但是要有解决方法

解决方案 »

  1.   

    写少一个,这个贴(发错区了)子也有50分,解决全部给你
    http://community.csdn.net/Expert/topic/4482/4482433.xml?temp=.9314234
      

  2.   

    你的要求是不可能实现的 除非 写代码 动态编译你那个里面的代码具体 请看
    http://blog.csdn.net/shenyisyn/archive/2004/09/24/115015.aspx
      

  3.   

    要动态执行编码,大概方法很多1。写自己的parser,对字符串分析,然后执行里面的东西,好象是自己写脚本语言一样2。采用CodeDom技术,譬如参考Dynamic Source Code Generation and Compilation 
    http://msdn2.microsoft.com/en-us/library/650ax5cx.aspxhttp://www.codeproject.com/dotnet/dynacodgen.asp但我同意xwjss的观点,也许你把你为什么要这么做的理由说出来,也许有更好的方法>>>根据DataGrid的ID值,查找到此DataGrid控件,并重写此控件的DataBound事件,要如何写呀? 这不难的,如果都是字符串的话,你甚至可以使用反射,参考
    http://www.devx.com/vb2themax/Tip/18827
      

  4.   

    我是想做一个DataGrid的分页控件,需要实现以下功能:
        根据DataGrid的ID值,设置该DataGrid的:
    1、自定义DataGrid的分页工具条;
    2、设置DataGrid的样式;
    3、设置DataGrid的排序功能及排序图标
    4、分页后的数据绑定;
    我现在是无法解决问题3和4.
      

  5.   

    以上功能是我看过WWWFIND(牧月天涯) 的专栏
    http://blog.csdn.net/WWWFIND/archive/2005/05/03/371417.aspx
    才想这么做的,其控件只需绑定要设置的DataGrid控件,就可完成所有的排序,分页,样式,及数据源的绑定.
    其使用例子:
    .aspx
    <%@ Page language="c#" Codebehind="Web_GridPager.aspx.cs" AutoEventWireup="false" Inherits="WebApplication3.Web_GridPger" %>
    <%@ Register TagPrefix="xpdragon" Namespace="DragonWebControls" Assembly="DragonControl" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>Web_GridPger</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server">
    <center><FONT face="宋体"><asp:datagrid id="DataGrid1" runat="server" DataKeyField="ID" Font-Size="10pt" AutoGenerateColumns="False"
    AllowPaging="True" AllowSorting="True" BorderWidth="2px" BorderColor="#6595D6" Height="72px" Width="578px"
    PageSize="15">
    <HeaderStyle HorizontalAlign="Center" ForeColor="Black" VerticalAlign="Middle"></HeaderStyle>
    <Columns>
    <asp:ButtonColumn Text="&lt;Img src='Image/Select.gif' style='BORDER-STYLE:none'&gt;" HeaderImageUrl="Image/Head.gif"
    CommandName="Select">
    <HeaderStyle HorizontalAlign="Center" Width="45px"></HeaderStyle>
    </asp:ButtonColumn>
    <asp:TemplateColumn HeaderText="货品编码">
    <ItemTemplate>
    <asp:Label id=Label1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ID") %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox id=TextBox1 runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.ID") %>'>
    </asp:TextBox>
    </EditItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="MC" SortExpression="MC" ReadOnly="True" HeaderText="货品名称">
    <HeaderStyle Width="30%"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="FLNBID" SortExpression="FLNBID" HeaderText="分类">
    <HeaderStyle Width="20%"></HeaderStyle>
    </asp:BoundColumn>
    <asp:BoundColumn DataField="DW" SortExpression="DW" HeaderText="单位"></asp:BoundColumn>
    <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="更新" CancelText="取消" EditText="编辑"></asp:EditCommandColumn>
    </Columns>
    <PagerStyle Visible="False"></PagerStyle>
    </asp:datagrid><XPDRAGON:GRIDPAGER id="GridPager1" runat="server" Height="16px" Width="652px" PageSize="10" ClientNavigation="True"
    NavigationURL="Web_GridPager.aspx" NavigationAction="单击" SelectColumnSelectImage="Image/Current.gif" SelectColumnImage="Image/Select.gif"
    SelectColumnHeadImage="Image/Head.gif" DataGrid="DataGrid1" ButtonCount="6"></XPDRAGON:GRIDPAGER><asp:panel id="Panel1" runat="server" Font-Size="9pt" Height="160px" Width="552px">
    <P>属性挺多久不一一说明了,大家对属性分类排序试验一下。<BR>
    主要功能:分页,排序,客户端单击或双击跳转到相关页面,控制DataGrid的外观,也就是你拖出一个DataGrid后,设置好数据、字段项目,外观和分页就可以由该控件完成,这样可以实现一个类似外观模版的功能。</P>
    <P>通过DataGrid属性和DataGrid绑定。</P>
    <P>&nbsp;</P>
    </asp:panel></FONT></center>
    </form>
    </body>
    </HTML>.aspx.cs
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;namespace WebApplication3
    {
    public class Web_GridPger : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.DataGrid DataGrid1;
    protected DragonWebControls.GridPager GridPager1;
    protected System.Web.UI.WebControls.Panel Panel1;
    DataSet DS=new DataSet();
    private void Page_Load(object sender, System.EventArgs e)
    { if (this.Request["ID"]!=null)
    {
    Response.Write("你的货品ID:"+this.Request["ID"]);
    Response.End();
    }
    DS.ReadXml(this.Request.PhysicalApplicationPath+"Data.xml");
    DataGrid1.DataSource=DS;
    this.DataBind();
    }
    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    InitializeComponent();
    base.OnInit(e);
    } private void InitializeComponent()
    {    
    this.DataGrid1.EditCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGrid1_EditCommand);
    this.Load += new System.EventHandler(this.Page_Load);
    }
    #endregion
    private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
     DataGrid1.EditItemIndex=e.Item.ItemIndex;
    this.DataBind();
    }
    }
    }