導航:首頁 > IDC知識 > aspnet伺服器端控制項

aspnet伺服器端控制項

發布時間:2021-02-06 17:36:02

1、asp.net如何在後台創建伺服器控制項

protected TextBox txtMytest;
protected void Page_Load(object sender, EventArgs e)
{
txtMytest = new TextBox();
txtMytest.Text = "我來測試下";
this.form1.Controls.Add(txtMytest);
}

2、asp.net伺服器端的控制項的基類是?常用屬性和方法是?如何轉變為HTML?

1 控制項的基類看引用的東西就知道是 System.web.UI.WebControls.Webcontrol
2 常用的屬性無非是3個,ID, STYLE或者ATTRIBUTES,DATASOURCE,即標識專 樣式 數據源(這個不屬是很確定)
3 基類具體沒研究過,如果自定義控制項的話在繼承了WEBCONTROL的時候覆蓋它的RENDER方法,或者是直接輸出HTML或者在它的RENDER流里添加HTML元素。建議你看看自定義控制項方面的東西就明白它怎麼產生HTML的了。

3、asp.net客戶端控制項和服務端控制項的區別是什麼,舉例說明。

客戶端控制項,即普通Html控制項,使用script控制操作
伺服器控制項,Asp.Net的控制項,控制這些內控制項必須經過伺服器處理,然後容響應用戶
兩種控制項最直觀的區別在於,當網頁打開後,其中的按鈕點擊後可以跳出對話框,在這時候斷網,如果是客戶端控制項,可以正常跳出對話框,如果是伺服器控制項,則顯示頁面無法顯示

4、asp.net伺服器控制項與客戶端控制項的區別?

區別:伺服器端控制項都會有個runat="Server"屬性,
這樣才能夠在後台對其進行設置修改,
也就是在cs代碼裡面能對其修改設置。
你做下測試 你放個HTML控制項 在CS代碼是引用不出控制項名的
然後你個HTML控制項加上runat="Server" 在CS代碼就能引用該控制項了
本質上ASP.NET 的伺服器控制項 解析後返回到前台還是HTML控制項
你建個頁面 放一個asp:textbox上去
然後運行頁面,然後查看頁面源文件
你會發現放上的伺服器控制項變成了HTML的inupt type="button"

至於你說的視圖狀態應該是說這個吧:
由於HTTP連接屬於無狀態的,每次頁面請求都無法記錄上次請求頁面的信息。
那麼要保存上次請求頁面上控制項的值,也就是頁面刷新後,填寫的值不變,比方在textbox填了個『a』,頁面刷新後還是'a',.NET框架為實現這種機制,於是就用到了viewstate視圖狀態來保存這些控制項的值,
那麼將所有控制項的值存在什麼地方呢?你可以運行你的程序,然後在頁面中查看源文件,就可以看到一個input type="hidden" name="__VIEWSTATE"的標簽,這個就是你所謂的」視圖「,它是經過伺服器序列化過的,然後伺服器接收後會反序列化這些隱藏域的值然後又從新給這些控制項賦值,從而頁面刷新後還能記錄上次請求時候的所有控制項的值。伺服器控制項都會默認保存VIEWSTATE的 有個屬性(EnableViewState)可以設置的, 設置為Flase就不保存了,頁面刷新後,值也就沒了,可以做個測試放個textbox設置為EnableViewState為false,然後輸入個值,然後再用按鈕去刷新頁面,那麼textbox會為空,因為沒有視圖狀態記錄到上次你輸入的值。

5、如何開發asp.net 伺服器控制項

1:用戶控制項很簡單,相信樓主不是跑這里來問這個吧。
2:如果是自定義控制項,那可能就比較麻回煩了,這個應該說答是屬於另一個領域了。樓主需要在網上找些自定義控制項的一些資料。
自定義控制項比較麻煩(如:Word編輯框、分頁控制項),這個需要樓主自己來學了。
我個人認為,一般的程序,用用戶控制項就完全可以解決了。
"是asp.net的一些控制項不符合我的使用習慣,想自己編寫一些符合自己習慣的",呵呵,不知道樓主這個習慣好不好。建議樓主符合微軟的思想、習慣...這樣有助於更深的理解和學習asp.net。

6、html伺服器控制項和asp.net標准控制項的不同?

Asp.net伺服器控制項,也叫Web伺服器控制項和Html伺服器端控制項的區別:
1、 Asp.net伺服器控制項提供更加統一的編程介面,如每個Asp.net伺服器控制項都有Text屬性。
2、 隱藏客戶端的不同,這樣程序員可以把更多的精力放在業務上,而不用去考慮客戶端的瀏覽器是ie還是firefox,或者是移動設備。
3、 Asp.net伺服器控制項可以保存狀態到ViewState里,這樣頁面在從客戶端回傳到伺服器端或者從伺服器端下載到客戶端的過程中都可以保存。
4、 事件處理模型不同,Html標注和Html控制項的事件處理都是在客戶端的頁面上,而Asp.net伺服器控制項則是在伺服器上,舉例來說:
<input id="Button4" type="button" value="button" runat="server"/>是Html控制項,此時我們點擊此按鈕,頁面不會回傳到伺服器端,原因是我們沒有為其定義滑鼠點擊事件。<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />我們為Html控制項添加了一個onserverclick事件,點擊此按鈕頁面會發回伺服器端,並執行test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />是Asp.net伺服器控制項,並且我們沒有為其定義click,但是我們點擊時,頁面也會發回到伺服器端。

 由此可見:Html標注和Html控制項的事件是由頁面來觸發的,而Asp.net伺服器控制項則是由頁面把Form發回到伺服器端,由伺服器來處理。

7、asp.net伺服器端控制項怎麼使用客戶端驗?

看到LZ的代碼,我一下子就看出來問題了:
首先,LZ是用的是 asp的TextBox控制項,因為OnTextChanged已經封裝在這個版控制項中了權,所以,必須要在後台寫當TextBox的TextChanged時,ASP需要做的事情;
第二,如果想使用javascript來做驗證,為什麼要在TextBox控制項上加AutoPostBack = "true"呢?js驗證是不需要重新刷新頁面的。

8、在ASP.NET網頁中,加入的客戶端控制項與伺服器端控制項有何區別,如何加入客戶端控制項,如何加入伺服器端控制項

客戶端控制項就是標準的HTML標簽
伺服器控制項是加上runat=server之後的標簽,可以在伺服器端訪問到。
1)、Asp.net伺服器控制項提供更加統一的編程介面,如每個Asp.net伺服器控制項都有Text屬性。
2)、隱藏客戶端的不同,這樣程序員可以把更多的精力放在業務上,而不用去考慮客戶端的瀏覽器是ie還是firefox,或者是移動設備。
3)、Asp.net伺服器控制項可以保存狀態到ViewState里,這樣頁面在從客戶端回傳到伺服器端或者從伺服器端下載到客戶端的過程中都可以保存。
4)、事件處理模型不同,Html標注和Html伺服器控制項的事件處理都是在客戶端的頁面上,而Asp.net伺服器控制項則是在伺服器上,舉例來說:
<input id="Button4" type="button" value="button" runat="server"/>
是Html伺服器控制項,此時我們點擊此按鈕,頁面不會回傳到伺服器端,原因是我們沒有為其定義滑鼠點擊事件。
<input id="Button4" type="button" value="button" runat="server" onserverclick="test" />
我們為Html伺服器控制項添加了一個onserverclick事件,點擊此按鈕頁面會發回伺服器端,並執行test(object sender, EventArgs e)方法。
<asp:Button ID="Button2" runat="server" Text="Button" />
是Asp.net伺服器控制項,並且我們沒有為其定義click,但是我們點擊時,頁面也會發回到伺服器端。
由此可見:Html標注和Html伺服器控制項的事件是由頁面來觸發的,而Asp.net伺服器控制項則是由頁面把Form發回到伺服器端,由伺服器來處理。

9、ASP.NET伺服器控制項的詳細信息

ASP.NET 頁面框架包含許多內置的伺服器控制項,用於為 Web 提供結構化程度更高的編程模型。這些控制項提供下列功能:
自動狀態管理。
簡單訪問對象值,而無須使用 Request 對象。
能夠對伺服器端代碼中的事件進行響應,以創建結構更好的應用程序。
為網頁構建用戶界面的公用方法。
根據瀏覽器的功能自動地自定義輸出。
除內置控制項外,ASP.NET 頁面框架還使您能夠創建用戶控制項和自定義控制項。用戶控制項和自定義控制項可以增強和擴展現有控制項以構建更加豐富多彩的用戶界面。
本文分成以下幾個部分:
HTML 伺服器控制項
Web 伺服器控制項
基本 Web 控制項
驗證控制項
列表控制項
多功能控制項
用戶控制項
自定義控制項
回到頂端
HTML 伺服器控制項
HTML 伺服器控制項是包括 runat=server 屬性的超文本標記語言 (HTML) 元素。HTML 伺服器控制項與它們的相應 HTML 標記具有相同的 HTML 輸出和相同的屬性。此外,HTML 伺服器控制項提供自動狀態管理和伺服器端事件。HTML 伺服器控制項具有下列優點:
HTML 伺服器控制項與它們的相應 HTML 標記一一對應。
編譯 ASP.NET 應用程序時,具有 runat=server 屬性的 HTML 伺服器控制項被編譯為程序集。
大多數控制項都包括該控制項最常用事件的 OnServerEvent。例如,<input type=button> 控制項包含 OnServerClick 事件。
沒有實現為特定 HTML 伺服器控制項的 HTML 標記仍可用於伺服器端;但是,它們被作為 HtmlGenericControl 添加到程序集。
重新提交 ASP.NET 頁面後,HTML 伺服器控制項將保留它們的值。
System.Web.UI.HtmlControls.HtmlControl 基類包含所有常用屬性。HTML 伺服器控制項派生於此類。
外置控制項部署
外置控制項,在使用前,需要將其添加到Visual Studio .NET環境中。然後就可以通過啟動一個新項目來使用新的控制項。
雖然有的時候,控制項在開發機器上運行正常,但當程序被部署到終端用戶機器上時,會出現問題。因為很多終端機器不允許安裝外置控制項,對於上述問題有簡單實用的解決辦法-「在伺服器上部署 「fp_client」 文件夾」。
fp_client 文件夾包含所有ASP.NET外置控制項需要的腳本文件。 拿Spread控制項為例,Web 頁面上的 Spread 控制項實例從伺服器上的 fp_client 文件夾中讀取前台格式化、樣式和腳本功能。fp_client 文件夾的默認安裝路徑是:C:Program FilesGrapeCitySpread.ASP.5.dotNet20v5.0.2015fp_clientfpspread5_0_2015_2008HTC
我們需要在 web.config 文件中添加以下代碼 fp_client 文件夾進行正確的載入:
<appSettings>
<add key=fp_clientvalue=fp_client/>
</appSettings>
下面是兩個有助於我們更加深入的去解決該問題問題的相關點:1.上面的標簽僅在你想要從程序根目錄下載「fp_client」文件夾是需要 ,在這種情況下,你需要復制 fp_client 文件夾並且把它粘帖到程序的根目錄下,或者創建一個映射到 fp_client 文件夾的虛擬路徑。2.在伺服器上有很多網址運行 Spread for ASP.NET ,我們僅需要把 fp_client 文件夾 復制到伺服器的根目錄上即可(而不是程序的根目錄)。在這種情形下, 上述 web.config 標簽是不需要添加的,程序仍然可以完美運行。

與aspnet伺服器端控制項相關的知識