今天在使用控件的时候,出现了点小问题,后来问了前辈,解决了。现在和大家分享下,希望不要出现这样的小错误哦。 就是在拖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飞
|
请发表评论