2010-02-11 22 views
1

這是我所希望的流量:是否有推薦的ASP.NET 2.0方法通過XHR向客戶端提供HTML片段?

  1. 靜態網頁(HTML)使用XHR調用一個ASP.NET頁面
  2. 的.NET頁面使用Web服務從遠程服務器中檢索信息
  3. 的.NET頁面返回插入到靜態HTML頁面的HTML「片段」

我越來越想到如何處理.NET(2.0)頁面上的HTML片段生成。我想過這樣的事情在一個通用的.ashx的頁面:

public void ProcessRequest (HttpContext context) 
{ 
    context.Response.Write("<ul>"); 
    //assume "people" is a list of data coming from the external web service 
    foreach (string person in people) 
    { 
    context.Response.Write("<li>" + person + "</li>"); 
    } 
    context.Response.Write("</ul>"); 
} 

這似乎只是一個大的「醜」。有沒有人做過這個 - 可能更有效率/優雅的方式?任何幫助,將不勝感激。

回答

1

爲此任務返回html有點奇怪,IMO。在大多數情況下,我更喜歡以下方式。打開你的Web服務公開或者添加一個包裝器,直接從你的靜態頁面的js中使用它。該服務應該返回json(最好)或xml數據。在客戶端格式(打印在HTML中,如你所願)接收數據使用js回調到XHR並注入任何你想要的。
但是我也想在這個任務上投- 如果它只在幾個頁面中使用,使用最快的方式來實現它。但是,如果您正在構建一些RIA應用程序,我建議您檢查ExtJS javascript庫。

編輯26/02:
如果您不能使用ASP.NET MVC,但是想用一些很好的框架,而不是「回覆於」東西請OpenRasta。這是我最喜歡的Web框架之一。 It works fine on .Net 2.0,它非常靈活和強大。而且它有一個很棒的社區。

+0

使用.NET MVC,您可以返回一個HTML片段,並且它工作得很好。不幸的是,我堅持使用不支持.NET MVC的.NET 2。 我正在考慮更廣泛地使用JS比直接返回HTML。 – JayTee

相關問題