如何在Substitution控件中使用ASP.Net服务器控件?
发布时间:2020-12-16 06:57:30 所属栏目:asp.Net 来源:网络整理
导读:虽然我们在Substitution控件中使用的方法应该返回字符串,那么如何在服务器控件上使用Web表单中的 donut caching呢? 例如Loginview控件? 解决方法 UPDATE 现在这是一个完全有效的例子.这里发生了一些事情: 使用替换控件的回调来呈现所需的usercontrol的输
虽然我们在Substitution控件中使用的方法应该返回字符串,那么如何在服务器控件上使用Web表单中的
donut caching呢?
例如Loginview控件? 解决方法
UPDATE
现在这是一个完全有效的例子.这里发生了一些事情: >使用替换控件的回调来呈现所需的usercontrol的输出. 这是标记: <asp:Substitution runat="server" methodname="GetCustomersByCountry" /> 这是回调 public string GetCustomersByCountry(string country) { CustomerCollection customers = DataContext.GetCustomersByCountry(country); if (customers.Count > 0) //RenderView returns the rendered HTML in the context of the callback return ViewManager.RenderView("customers.ascx",customers); else return ViewManager.RenderView("nocustomersfound.ascx"); } 这是用于呈现用户控件的帮助器类 public class ViewManager { private class PageForRenderingUserControl : Page { public override void VerifyRenderingInServerForm(Control control) { /* Do nothing */ } public override bool EnableEventValidation { get { return false; } set { /* Do nothing */} } } public static string RenderView(string path,object data) { PageForRenderingUserControl pageHolder = new PageForUserControlRendering(); UserControl viewControl = (UserControl) pageHolder.LoadControl(path); if (data != null) { Type viewControlType = viewControl.GetType(); FieldInfo field = viewControlType.GetField("Data"); if (field != null) { field.SetValue(viewControl,data); } else { throw new Exception("ViewFile: " + path + "has no data property"); } } pageHolder.Controls.Add(viewControl); StringWriter result = new StringWriter(); HttpContext.Current.Server.Execute(pageHolder,result,false); return result.ToString(); } } 请参阅以下相关问题: > Turn off page-level caching in a (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET MVC的Model元数据与Model模板:将”ListControl”引
- Tridion页面中的这些ASP.Net用户控件(.ascx)有什么作用?
- asp.net-mvc – 我可以免费在ASP.NET MVC上开发吗?
- 如何在ASP.Net内容页面中添加元标记
- asp.net-mvc-3 – 构造函数注入用作Action方法参数的View M
- asp.net – 如何将SiteMap绑定到动态创建的TreeView?
- asp.net-mvc – JsonIgnore在System.Web.Mvc.Controller中不
- asp.net – Page_ClientValidate正在多次验证
- asp.net-mvc – ASP.NET MVC 4 Datagrid
- 服务层和ASP.NET MVC的目的2
推荐文章
站长推荐
- asp.net – 当要复制的lob数据的插入长度超过配置
- asp.net – 在没有完全回发的情况下,在AJAX更新面
- asp.net – 如何在Repeater中为LinkBut??ton做As
- asp.net-mvc – ASP.NET MVC:从一个视图重定向到
- asp.net-mvc – 加载程序集时会发生什么?
- Asp.Net MVC 5 Owin Twitter Auth throwing 401
- 一个关于解决序列化问题的编程技巧
- 如何在glimpse / Asp.NET MVC中显示控制器使用的
- asp.net-mvc – 使用Automapper将字符串映射到枚
- Asp.Net MVC @Html.TextBox 只允许输入数字问题
热点阅读