快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

和记注册平台_机器人论坛



现在做网站都追求用户体验,那么ajax自然就必弗成少。假如您用过Asp.Net MVC ,你会发明Asp.Net MVC 和jQuery 共同的异常默契(事实上jQuery已经成了微软的御用脚本库了),你可以用jQuery直接去异步加载一个PartialVie和记注册平台w(即.ascx用户控件)。如:$("#div").load("Controler/UserList.ascx");然则在webForm模式下就没这么幸福了,

假如你也这样去load一个用户控件,它会报错:"因为已明确禁止所哀求和记注册平台的页类型,无法对该类型的页供给办事。扩展名“.ascx”可能不精确。请反省以下的 URL 并确保其拼写精确"。

那我们就甘愿放弃这样一种让人愉快的措施,回去像曩昔那样一句一和记注册平台句的拼接字符串嘛?那样做不仅事情量大年夜,而且繁琐易错,美工给的静态页面也不能拿来直接用,拼字符串时碰到引号还要转义。

我想,你肯定和我一样都不甘愿放弃这种“load”措施,那我们就自己来实现吧。

首先设想一下,假如有这样一个类,它叫一PageProxy,这个类承袭Page类,然后让我们的页面承袭这个PageProxy类,而不是像默认的那样承袭System.Web.UI.Page,

使我们在页面上能够直接load用户控件,那么假和记注册平台如我们要在哪个页面上异步load一个用户控件,我们就让那个页面和记注册平台承袭这个PageProxy就行了。设想老是美好的,但要我们去实现。

那我们就去建有这样一个类吧,因为这个类是给其他类承袭的,以是有 public abstract class PageProxy : Page。详细代码如下:

public abstract class PageProxy : Page

{

///

/// 输出用户控件的Html片段

///

///

控件的相对路径

///

[WebMethod]

public static string RenderUserControl(string control)

{

Page page = new Page();

UserControl ctl = (UserControl)page.LoadControl("~/" + control);

page.Controls.Add(ctl);

StringWriter writer = new StringWriter();

HttpContext.Current.Server.Execute(page, writer, false);

return writer.ToString();

}

}

您可能还会对下面的文章感兴趣: