从数据库创建动态控件(Db具有所有信息)甚至控件必须填充所有值 [英] Create Dynamic Controls from Database (Db has all Info) Even controls must be populate with all values

查看:38
本文介绍了从数据库创建动态控件(Db具有所有信息)甚至控件必须填充所有值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

要求:

1. 从数据库创建动态控件(Db包含所有信息)甚至控件必须填充所有值。

2.不想回发并删除页面加载。

3.想要使用一些服务和返回类型我期待作为具有所有值的控件(意味着如果它是下拉它应该绑定它应该填写在ASP.Net页面上....



或者寻找一些最简单的方法来实现这个要求..



预先感谢



打击代码工作正在实现,但又不想与数据库交互...这里我正在沟通两次用DB ...首先用于控件然后用于绑定控件..



想要删除它...



requirement :
1. Create Dynamic Controls from Database (Db has all Info) Even controls must be populate with all values.
2. Don't want to postback and remove page load.
3. wants to Use some service and return type I am expecting as Controls with all values (means if it is drop down It should bind with values) and It should populate on ASP.Net page ....

or looking some easiest way to achieve this requirement ..

thanks in Advance

Blow code is working and achieving something but don't want to interact with Database...here I am communicating two times wit DB..Firstly for Controls and then for Binding the controls..

wants to remove this...

int ObjectType_Id = 10000939;
           int UserID = 46855;
           DataSet dsDropDownItems = new DataSet();
           string Permission = "write";
            //(2501,46855,'write')
           List<dynfields> DynFieldsOnPageList = new List<dynfields>();
           BLLDynFields bllDynField = new BLLDynFields();
           ContentPlaceHolder content = (ContentPlaceHolder)this.Master.FindControl("MainContent");
           DynFieldsOnPageList = bllDynField.GetDynFieldsOnPage(ObjectType_Id, UserID, Permission);

           if ((DynFieldsOnPageList != null))
           {

               for (int i = 0; i < DynFieldsOnPageList.Count; i++) // Loop with for.
               {
                   switch (DynFieldsOnPageList[i].Widget)
                   {
                       case "textdate":
                           break;
                       case "text":
                           Label lbl1 = new Label();
                           lbl1.Text = DynFieldsOnPageList[i].PrettyName;
                           TextBox TextBox1 = new TextBox();
                           TextBox1.ID = DynFieldsOnPageList[i].AttributeName;
                           //TextBox1.Style["Position"] = "Absolute";
                           //TextBox1.Style["Top"] = "25px";
                           //TextBox1.Style["Left"] = "100px";
                           //content.Controls.Add(lbl1);
                           //content.Controls.Add(TextBox1);

                           break;
                       case "checkbox":

                           break;
                       case "richtext":

                           break;
                       case "im_cost_center_tree":

                           break;
                       case "textarea":

                           break;
                       case "select":

                           break;
                       case "date":

                           break;
                       case "ampmFragment":

                           break;
                       case "generic_sql":

                           Label lbl = new Label();
                           lbl.Text = DynFieldsOnPageList[i].PrettyName;
                           DropDownList ddl = new DropDownList();
                           ddl.ID = DynFieldsOnPageList[i].AttributeName;

                           string SQLQuery = DynFieldsOnPageList[i].SqlParameter;
                           char[] delimiterChars = { '{', '}' };
                           string[] FinalQuery = SQLQuery.Split(delimiterChars);

                           dsDropDownItems = bllDynField.FillDropDownRuntime(FinalQuery[3]);
                           ddl.DataSource = dsDropDownItems.Tables[0];
                           ddl.DataTextField = dsDropDownItems.Tables[0].Columns[0].ToString();
                           ddl.DataValueField = dsDropDownItems.Tables[0].Columns[1].ToString();
                           ddl.DataBind();
                           ddl.AutoPostBack = true;
                           ddl.Style.Add("margin", "20px");
                           ddl.Style.Add("margin-right", "20px");
                           Table tb = new Table();
                           TableRow tr = new TableRow();
                           TableCell td = new TableCell();
                           TableCell td1 = new TableCell();


                           td.Controls.Add(lbl);
                           td1.Controls.Add(ddl);
                           tr.Cells.Add(td);
                           tr.Cells.Add(td1);
                           tb.Rows.Add(tr);

                           content.Controls.Add(lbl);
                           content.Controls.Add(ddl);
                           content.Controls.Add(tb);

                           pnlDynamiccontrol.Controls.Add(tb);
                           break;
                       case "radio":

                           break;

                   }


               }

推荐答案

所有类型的ASP.Net。像下拉,文本框,单选按钮等...以及我存储在数据库中的所有信息所以在运行时我必须在特定页面上找到特定控件...



所有内容都映射到数据库中......我需要在页面上显示这些控件而不需要多次连接到数据库..

我正在考虑Ajax方法

或服务等请建议..
All Kind of ASP.Net .like drop down ,text box,Radio Button etc..and all information I have stored in Database so On Run time I have to find particular controls on specific page...

all things are mapped in Database ...I need to display these controls on page without connecting multiple times to database..
I am thinking about Ajax method
or Services etc Kindly suggest ..


这篇关于从数据库创建动态控件(Db具有所有信息)甚至控件必须填充所有值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆