今天在使用控制項的時候,出現了點小問題,後來問了前輩,解決了。現在和大家分享下,希望不要出現這樣的小錯誤哦。
就是在拖DropDownList控制項的時候,設定了幾個基本的下拉選項,想實現的效果就是點擊一個項,超連結的顯示的文字和相應的連結地址就發生相應的變化。
按照書本上的代碼是:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.Text == "qq") //如果選擇qq
{
HyperLink1.Text = "qq"; //文本為qq
HyperLink1.NavigateUrl = "http://www.qq.com"; //URL 為qq.com
}
else //選擇sohu
{
HyperLink1.Text = "sohu"; //文本為sohu
HyperLink1.NavigateUrl = "http://www.sohu.com"//URLsohu.com
}
}
上述代碼使用了DropDownList 控制項,當使用者選擇不同的值時,對HyperLink1 控制項進
行操作。當使用者選擇qq,則為HyperLink1 控制項配置串連為http://www.qq.com。
注意:與標籤控制項相同的是,如果只是為了單純的實現超連結,同樣不推薦使用
HyperLink 控制項,因為過多的使用伺服器控制項同樣有可能造成效能問題。
但是原理是肯定對的,就是無法實現預期的效果。
原來忘記設定了相關的屬性:AutoPostBack:true(預設是false的,就是不能自動回傳值,提交到後台)
設定好該屬性就能達到預期的效果了。好神奇哈。。
下面給大家介紹下效果的幾個屬性:
1.AutoPostBack(自動回傳)屬性
在網頁的互動中,如果使用者提交了表單,或者執行了相應的方法,那麼該頁面將會發送到伺服器上,伺服器將執行表單的操作或者執行相應方法後,再呈現給使用者,例如按鈕、下拉式功能表控制項等。如果將某個控制項的AutoPostBack 屬性設定為true 時,則如果該控制項的屬性被修改,那麼同樣會使頁面自動發回到伺服器。
2.EnableViewState(控制項狀態)屬性ViewState 是ASP.NET 中用來儲存Web 控制項回傳狀態的一種機制,它是由ASP.NET 頁面架構管理的一個隱藏欄位。在回傳發生時,ViewState 資料同樣將回傳到伺服器,ASP.NET架構解析ViewState 字串並為頁面中的各個控制項填充該屬性。而填充後,控制項通過使用ViewState 將資料重新恢複到以前的狀態。
在使用某些特殊的控制項時,如資料庫控制項,來顯示資料庫。每次開啟頁面執行一次資料庫往返過程是非常不明智的。開發人員可以綁定資料,在載入頁面時僅對版面設定一次,在後續的回傳中,控制項將自動從ViewState 中重新填充,減少了資料庫的往返次數,從而不使用過多的伺服器資源。在預設情況下,EnableViewState 的屬性值通常為true。
3.其他屬性
上面的兩個屬性是比較重要的屬性,其他的屬性也經常使用。
(1).MaxLength:在註冊時可以限制使用者輸入的字串長度。
(2).ReadOnly:如果將此屬性設定為true,那麼文字框內的值是無法被修改的。
(3).TextMode:此屬性可以設定文字框的模式,例如單行、多行和密碼形式。預設情況下,不設定TextMode 屬性,那麼文字框預設為單行。
鳴謝:Ya飛