如何經過JavaScript構建Asp.net服務端控件

摘要

雖然ASP.NET的服務器控件一直被你們所詬病,可是用戶控件(ACSX)在某些場景下仍是很是有用的。服務器

在一些極特珠的狀況下,咱們會使用JavaScript動態的構建頁面中的控件,但假設遇到了我要用JavaScript構建一個服務端控件、用戶控件時,該怎麼辦?

spa


 

 

咱們經常說,服務端控件運行在服端器上,那麼這話是什麼意思呢?3d

服務端控件,其本質是一構建HTML語句的封裝,以事先編排好的方式,生成一套HTML並經過Http協議返回給客戶端。所以,咱們所寫的服務端控件,在響應HTTP請求時,早已不存在了。——這就叫運行在服務器上ip

即然如此,那麼客戶端天然沒有解析一個服務端控件的可能。get

 


 

根據上面的原理,咱們能夠得知,直接經過JavaScript向body中輸出一個服務端控件毫無心義iframe

那麼咱們換一個思路,即然服務端控件的構建必定要經過WEB服務器,那麼咱們可不能夠經過一次HTTP請求,而且在不破壞當前面頁的狀況下,獲得服務端控件所轉換後的HTML原碼呢?it

有了這個思路,那麼解決方案就很簡單了——iframe原理

咱們能夠單獨設立一個ASPX頁面,該頁面的BODY上主要就是服務端控件,而後經過IFRAME的加載,將這個服務端控件顯示在了當前的頁面中。請求

 


固然,這只是一種效果,它並無真正意義上用JavaScript構建了一個服務端控件。而是構建了一個只包含了服務端控件的iframe。客戶端

若是變通一下的話,能夠經過一些JavaScript代碼,將這個iframe中的全部元件,添加到主頁面裏,並移除iframe,這樣,就成爲了一個總體的頁面,只不過可能會面臨一些控件ID衝突的結果。

 

 

 

文章爲做者原創,轉載請註明出處 http://www.zizhusoft.com/note/show.aspx?id=f562b47a-ddd0-4771-a93d-78e9fdbd7b72 ,謝謝合做

相關文章
相關標籤/搜索