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; }
    }
  • 相关阅读:
    .Net利用core实现简单的加解密例程全解析
    HTTPS抓包,利用telnet检查网络连接的几种方式
    每个人都应该知道的(cJSON)JSON处理库
    HashMap和Hashtable的区别
    Map集合
    Set集合
    同步异步以及泛型
    ArrayList的输出方式以及因子增长数
    (转)C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
    数据结构复习---最短路径
  • 原文地址:https://www.cnblogs.com/you000/p/2834896.html
Copyright © 2011-2022 走看看