zoukankan      html  css  js  c++  java
  • asp.net 将页面HTML化,通过Ajax请求返回到窗户端

    Ajax请求的WebService方法:

    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    [System.Web.Script.Services.ScriptService]
    public class PagingService  : System.Web.Services.WebService {
    
        [WebMethod]
        public string GetPagingData(int page)
        {
            ViewManager<PagingData> viewManager = new ViewManager<PagingData>();
            var control = viewManager.LoadViewControl("~/PagingData.ascx");
    
            control.PageIndex = page;
    
            return viewManager.RenderView(control);
        }
    }
    public class ViewManager<T> where T : UserControl
    {
        private Page m_pageHolder;
    
        public T LoadViewControl(string path)
        {
            this.m_pageHolder = new Page();
            return (T)this.m_pageHolder.LoadControl(path);
        }
    
        public string RenderView(T control)
        {
            StringWriter output = new StringWriter();
    
            this.m_pageHolder.Controls.Add(control);
            HttpContext.Current.Server.Execute(this.m_pageHolder, output, false);
    
            return output.ToString();
        }
    }
    PagingData.ascx控件
    View Code
    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="PagingData.ascx.cs" Inherits="PagingData" %>
    
    <asp:Repeater runat="server" ID="Repeater1">
        <ItemTemplate>
            <%# Container.DataItem %>
        </ItemTemplate>
        <SeparatorTemplate>
            <br />
        </SeparatorTemplate>
        <FooterTemplate>
            <br />
        </FooterTemplate>
    </asp:Repeater>
    PagingData.ascx.cs
    View Code
    public partial class PagingData : System.Web.UI.UserControl
    {
        protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);
    
            List<int> values = new List<int>();
            for (int i = (this.PageIndex - 1) * 5 + 1; i <= this.PageIndex * 5; i++)
            {
                values.Add(i);
            }
    
            this.Repeater1.DataSource = values;
            this.Repeater1.DataBind();
        }
    
        public int PageIndex { get; set; }
    }
  • 相关阅读:
    Windows NT 的历史
    Windows 下 Mysql8.0.12 的安装方法
    [知乎] 机械硬盘和固态硬盘的简单对比
    syncthing 多主机同步文件工具
    delphi 2007 远程调试
    关于delphi PAServer 远程调试DLL文件
    关于 datasnap Stream的英文博客能容
    DataSnap 用TStream 传递大数据 返回流大小为-1的情况
    c++ builder xe2 (Embarcadero rad studio) 远程调试 同样适用于 delphi 远程调试 教程
    Delphi10 安装Graphics32
  • 原文地址:https://www.cnblogs.com/you000/p/2834896.html
Copyright © 2011-2022 走看看