【初學級】關於html服務器控件和ASP.Net服務器控件


======================================================
注:本文源代碼點此下載
======================================================

寫完才發現自己的題目,和寫的關係似乎不大緊密,但其實最核心的也就那點東西,菜鳥程序員來一起學習吧

昨天做了這樣一個功能,因爲是非常基礎的,相信絕大多數人都應該做過。思路大概就是一個頁面綁定了一些數據,而數據綁定在一個類似於gridview的第三方控件上,而同時上面還有幾個input type="text"用來展示下面gridview的數據,意思就是比如我們下面grid中是一個學生表,學生可能屬於不同的班級,那我們上面的input中,展示的就是班級:1班,2班等。當我們選擇刪除條學生時,爲了增加更好的用戶體驗,實現的方式是在頁面循環這個第三方控件,當選擇的行,就用javascript將它刪除(當然我們也操作了後臺的數據源,是用js調用的後臺一個ajax方法,我想這樣沒刷新頁面肯定比你簡單用一個ajax好,雖然當數據少的時候你看起效果差不多),而假如1班的學生全部刪除完畢,則input中則刪除1班。

接着引發出了問題如下。

問題大概是這樣子,做了個簡單的圖,俗話說沒圖沒真相

首先,我選用html的input type="text" runat="server" 的服務器控件,據說好處很多。因爲aps:textbox微軟爲了功能強大,肯定封裝了很多我們菜鳥用不到的東西。接着還有很重要的一點,aps.net服務器控件則總是要向服務器發送一個到進行處理,即使你只想用來展示數據而已,而html服務器控件則不會出現這個問題,假如你沒有爲其定義後臺事件,它不會回傳到服務端,asp.net服務器控件則不然。

接着,因爲上面班級是不能修改的,所以在input中它的屬性肯定是不能被用戶隨便修改的,意思是隨下面grid中數據而變動的,於是我就選了input中的disabled屬性結果發現,在前臺刪除了數據後,使用js操作改變input中的值完全正確,最後到後臺的時候,則發現怎麼也取到input中的新值了,它永遠是第一次綁定時的值,即使在頁面它已經顯示新的值了。當然發現問題的時候,到處找不到解決辦法,最後發現解決方法原來很簡單,把disalbed屬性刪掉用readonly達到類似的結果。最後當自己寫完的時候,自己想想也簡單,難只是因爲自己不知道,路還很遠很長。


======================================================
在最後,我邀請大家參加新浪APP,就是新浪免費送大家的一個空間,支持PHP+MySql,免費二級域名,免費域名綁定 這個是我邀請的地址,您通過這個鏈接註冊即爲我的好友,並獲贈雲豆500個,價值5元哦!短網址是http://t.cn/SXOiLh我創建的小站每天訪客已經達到2000+了,每天掛廣告賺50+元哦,呵呵,飯錢不愁了,\(^o^)/
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章