我现在有一个下拉列表框。<select id="city005" runat="server">服务器控件,通过URL里的地址栏里的参数,默认选择当前的选项,并且,想在有参数的情况下,让控件不能再次被选择。
我使用 city005.Disabled = true;以后。
它的值丢失了就。
使用.Visible设置为FLASE以后,值也不见了。
有什么好办法能设置控件为不能选择并且值又不丢失呢?
我的ASP2。0的。在1。0的情况下不会出现这类情况。
我使用 city005.Disabled = true;以后。
它的值丢失了就。
使用.Visible设置为FLASE以后,值也不见了。
有什么好办法能设置控件为不能选择并且值又不丢失呢?
我的ASP2。0的。在1。0的情况下不会出现这类情况。
代码贴出来
=====>
怎么会丢失呢?使用.Visible设置为FLASE以后,值也不见了。
=====>
值不是不见了,而是控件隐藏了。因为Visible=false,不可见了试试这样:
在Page_Load事件里,根据URL参数的有无。如果有,则选中select中的某项,然后将select的Disbale设置为false。这样控件不能再次被选择
.net2.0里面,textbox和SELECT同样因为安全问题而把隐藏和,DISEABLE掉的控件丢失值。
情况如下:
htp://localhost/get.aspx?city=000123
SELECT通过。CITY=000123知道目前是,杭州市,所以就默认选择杭州。并且不能再被修改。
如果传过来的是。
http://locahost/get.aspx那select还是可以选择。
我想到的一个办法是。
先判断CITY参数。如果是,select里的一项的话,先把
value和TEXT两个值都传个变量aa,bb
然后把select通过。items.clear();清楚完。
然后再通过
select.add("ddd");
增加一条item这里随便
然后
select.items[0].value=aa;
select.items[0].text=bb;
这样目前就只有参数传过来的那个选项了。
onclick="openVoteResult('http://locahost/GetResult040.aspx?topicID=2004',800,600)"
如果我想在http://locahost/GetResult040.aspx?topicID=2004后面加一个参数。
http://locahost/GetResult040.aspx?topicID=2004&city=(这里是一个控件的值)
假设控件为textbox.text.tostring()这整句应该如何写?http://locahost/GetResult040.aspx?topicID=2004&city=<%#textbox.text.tostring()%>
上面这样写对吗?
ListItem item = Select1.Items.FindByValue(cityId);
Select1.Disabled = (item != null);
ListItem item = Select1.Items.FindByValue(cityId);
if (item != null) {
Select1.SelectedIndex = Select1.Items.IndexOf(item);
Select1.Disabled = true;
}
else {
Select1.Disabled = false;
}
<select id=Select1 onclick='<%# String.Format("openVoteResult('http://locahost/GetResult040.aspx?topicID=2004&cityid={0}', 800, 600)", textbox.Text.ToString()) %>'
runat=server
...// 同时还得zai .aspx.cs
Select1.DataBind(); // 执行 绑定语法 ( <%# %> 表示的那串)