如何在运行时将ASP.Net控件移动到Web窗体上的不同位置?
发布时间:2020-12-16 03:36:08 所属栏目:asp.Net 来源:网络整理
导读:是否有一种“移动”控件的可接受方式. 我的客户希望在页面上的几个不同位置之一放置一定量的标记(表示一些视觉元素).位置不同,我不能影响CSS的变化(通过浮动它或其他东西). 我考虑将控件置于多个位置,将Visible设置为“false”,然后在该特定页面所需的位置显
是否有一种“移动”控件的可接受方式.
我的客户希望在页面上的几个不同位置之一放置一定量的标记(表示一些视觉元素).位置不同,我不能影响CSS的变化(通过浮动它或其他东西). 我考虑将控件置于多个位置,将Visible设置为“false”,然后在该特定页面所需的位置显示该控件. 但是,这个控件的代码并不简单 – 例如,有几个模板部分.不得不在多个地方欺骗它会变得笨拙.此外,出于同样的原因,我不想严格地从代码隐藏中使用此控件. 所以,我想把它放在Web表单的一个地方,根据我想要的地方移动它.我可以将占位符放在不同的位置,将控件放在一个位置,然后将其移除并添加到正确的位置?我怀疑这会奏效. 有人有更好的主意吗?这是最好的做法吗? 解决方法
我建议使用占位符控件,将标记移动到单独的用户控件中,然后在运行时加载它并将其添加到相关的占位符.
例如. // Load a user control MyControl userCtrl = (MyControl) LoadControl("~/Controls/MyControl.ascx"); // Or create an instance of your control SubclassedControl subclassedCtrl = new SubclassedControl(); // Do stuff with controls here userCtrl.LoadData(); subclassedCtrl.Text = "Hello World"; // Check which placeholder to add controls to PlaceHolder placeHolder = (foo=="bar") ? placeHolder1 : placeHolder2; // Add the controls placeHolder.Controls.Add(userCtrl); placeHolder.Controls.Add(subclassedCtrl); 这样可以避免使用不必要的标记来混乱页面,并且在运行时加载它也可以避免以后不必要的混淆,当另一个开发人员查看代码并且无法立即看到控件在标记中的某个位置时,但是渲染时页面的完全不同的部分. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC,AngularJS,Bower和部署站点文件夹结构
- asp.net – Ajax自动完成扩展程序并获取所选项目的ID?
- asp.net-mvc – 内联如果在Razor View中
- asp.net-mvc – ASP.NET MVC中Rake路由的等价物
- Asp.net MVC在Session中保留敏感信息是否安全?
- 如何获取基于PhoneGap的应用程序来对ASP.NET Forms身份验证
- asp.net-mvc-3 – 剃刀引擎 – 如何根据不同的条件渲染不同
- ASP.NET读取XML文件4种方法分析
- asp.net – 跟踪当前在线用户的最佳方式
- 在ASP.NET web.config全球标记中设置日期格式?
推荐文章
站长推荐
- asp.net-mvc-3 – Ninject – 无法找到资源
- asp.net-mvc – 通过Gitignore递归地包含Nuget D
- asp.net-mvc – 使用MVC Futures的异步控制器在.
- 在ASP.NET捆绑和缩小中将样式的URL转换为CDN URL
- net core 项目提示未能加载导入的项目文件
- 集训第六天:文件上传漏洞
- ASP.NET Webforms ASP.NET Ajax与ASP.NET MVC和A
- ASP.NET中的应用程序生存期
- asp.net-core – 在ASP.NET vNext过滤器中获取注
- asp.net-mvc – .NET MVC的简单OpenID身份验证代
热点阅读