asp.net – 在请求C#上添加TextBocex,CheckBoxes
发布时间:2020-12-16 10:00:14 所属栏目:asp.Net 来源:网络整理
导读:我将很快在我的公司开始一个项目,客户希望在门户网站中选择以管理员身份添加文本框或复选框,所以例如最初我可能有类似的东西 姓名[textBox] 电话[textBox] 因此,客户端希望以管理员身份登录并能够添加 姓名[textBox] 电话[textBox] 接收手册[checkBox] //由
我将很快在我的公司开始一个项目,客户希望在门户网站中选择以管理员身份添加文本框或复选框,所以例如最初我可能有类似的东西
姓名[textBox] 因此,客户端希望以管理员身份登录并能够添加 姓名[textBox] 忘记门户网站和管理员部分..我想知道的是设计这个的最佳方式(用户能够添加元素) 任何想法将不胜感激 问候 解决方法
您可以创建一个额外的aspx表单,其中用户(或管理员)能够定义和创建他/她自己的表单,您提供变量名称,他们选择添加控件,将其保存在特定的方案中数据库,例如
用户窗体: 形成: FormElement: 当然,这也可以由管理员完成,并且每个人都可以看到. 要查看特定表单,您可以添加另一个包含以下代码的aspx页面: protected void Page_Load(object sender,EventArgs e) { //you saved the FormName or ID to Session when you accessed it string formName = Session["FormName"].ToString(); //this handles getting the elements for this Form from DB List<FormElement> elementList = FormElement.GetForForm(formName); this.renderForm(elementList); } private void renderForm(List<FormElement> eList) { foreach(FormElement fe in eList) { //Labels left,Controls right,of course this is just a design decision if(fe.Index%2==1) { Label lbl = new Label(); lbl.Text = fe.Variable; lbl.ID = fe.ControlType + fe.Variable; divLeft.Controls.Add(lbl); } else { dynamic ctrl = null; switch (fe.ControlType) { case "TextBox": ctrl = new TextBox(); break; case "CheckBox": ctrl = new CheckBox(); break; default: break; } ctrl.ID = fe.ControlType + fe.Variable; divRight.Controls.Add(ctrl); } } } 在用户点击提交后,您可以通过访问divRight.FindControl(fe.ControlType fe.Variable)来接收输入到这些控件中的值,因为每个Form应该是唯一的. 这种方法假设你使用的是.NET 4.0(因为它是动态的),但是当然你可以在没有它的情况下做到这一点,它只是更多的代码. 如果这是您搜索的内容或是否有帮助,请告诉我. 谢谢, 丹尼斯 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ILifetimeScope的autofac DependencyResolutionException用
- 最接近Asp.net mvc3的Java MVC框架?
- asp.net-mvc – 在MVC文件上传中Request.files为空
- 是否有必要创建ASP.NET 4.0 SQL会话状态数据库,与现有的ASP
- 什么时候最好在ASP.NET中使用静态函数?
- asp.net – 如何将SiteMap绑定到动态创建的TreeView?
- ASP页面的ASP.NET cookie
- asp.net-mvc – ActionResult上的自定义属性
- 在ASP.NET WebForms中使用jQuery调用’WebMethod’
- ASP.NET生产力电动工具“修复混合标签”;哪一个给出最干净的