利用AJAX.net設計現在執行運算的報表

來源:互聯網
上載者:User
我們知道有些報表因為運算的速度實在的太慢,所以我們會讓一個頁面先計算,緩衝在一個地方,然後讓客戶去讀緩衝因為速度實在是太慢了,就希望能在計算的中體現現在正在運算哪個模組,我第一才想到的是通過一個頁面一個模組,然後一個一個的跳轉過去,這樣 在介面上就可以看到現在執行的情況,可能這個能達到要求,現在我把他稍微的改造,用一個頁面完成,這樣程式也好控制點
一、先在web.config中設定配置    <httpHandlers>
    <add verb="POST,GET" path="report/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers> 

注意別我忘記在Global.asax中添加
 protected void Application_Start(Object sender, EventArgs e)
  {
   Ajax.Utility.HandlerPath = "report";
  }
 二、就是做程式了,其實和原來的程式一點也不用改,只要添加就行了,和有個開發經理說的一樣,增加有的情況下不是改,是擴充,加什麼呢?private void Page_Load(object sender, System.EventArgs e)
        {
            Ajax.Utility.RegisterTypeForAjax(typeof(report.WebForm1));
        }

先註冊類        [Ajax.AjaxMethod]
        public string aaaaa()
        {
            DataSet result = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();
            SqlCommand cmd = this.BuildQuerycommand("xxxxxxxx", "1");
            cmd.CommandTimeout = 1000;
            da.SelectCommand = cmd;
            da.Fill(result);
            return "aaaaa";
        }
        [Ajax.AjaxMethod]
        public string bbbbb()
        {
            DataSet result = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter();
            SqlCommand cmd = this.BuildQuerycommand("xxxxxxxx", "1");
    

然後把以前寫的方法統統考過來,再在頭上寫[Ajax.AjaxMethod]這樣就行了,後台就ok了,主要還要看前台,        <script language="javascript">
            
            
function callback_testa(res)
{
    window.document.Form1.all("ss").value+=res.value;
    WebForm1.bbbbb(callback_testb);
}

function callback_testb(res)
{
    window.document.Form1.all("ss").value+=res.value;
    WebForm1.ccccc(callback_testc);
}

function callback_testc(res)
{
    window.document.Form1.all("ss").value+=res.value;
    WebForm1.ddddd(callback_testd);
}
function callback_testd(res)
{
    window.document.Form1.all("ss").value+=res.value;
}


function test1()
{
    WebForm1.aaaaa(callback_testa);
}

window.onbeforeunload = function()
{

        window.event.returnValue = false;

}
        </script>

這個主要是完成前台的顯示,注意調用的方法就是使用你註冊的類名.你的方法名就行了
這樣效果就出來了
沒多大的改,編程的樣子,實現的效果多了大的改變,雖然實質沒改,但在大環境確實有不少的改變啊

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.