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; }
    }
  • 相关阅读:
    css 实现div内显示两行或三行,超出部分用省略号显示
    vue组件中的样式属性:scoped,解决在父组件中无法修改子组件样式问题
    HBuilder打包app(vue项目)
    vue动态路由传值以及get传值及编程式导航
    vue路由vue-router的安装和使用
    vue组件传值之父传子
    vue生命周期钩子函数
    vue定义组件
    vue定义自定义事件方法、事件传值及事件对象
    vue中操作Dom节点的方法
  • 原文地址:https://www.cnblogs.com/you000/p/2834896.html
Copyright © 2011-2022 走看看