asp.net嵌套在Repeater控件里面的DropDownList怎么将不为0的值保存起来?
如图,如题:
asp.net嵌套在Repeater控件里面的DropDownList怎么将不为0的值保存起来?每个DropDownList的值是for循环得到的。都是0-16!在离开该页面时再返回该页,刚选中的值一直还保存!
回答要有具体思路,不管Seeion、Cookie都要有具体思路。效果就像如图,返回该页时,值还在。
具体点哈!谢谢。 --------------------编程问答-------------------- 通过url将值传给下一个页面
从下一个页面回 到此页面时再将值传回来
在page_load中取到后绑定 --------------------编程问答--------------------
选多个DropDownList,值怎么传? --------------------编程问答-------------------- for循环遍历repeater
拼接字符串
当前行主键id+DropDownList.SelectValue --------------------编程问答-------------------- 就是用url形式传递参数,遍历里面的值拼接后传值,不过如果是太多级别的话。这样后面可能会很乱哦。或许也可以用Cache和Session之类的! --------------------编程问答--------------------
问题是把选的值怎么绑回去,因为在Repeater里面就一个DropDownList! --------------------编程问答-------------------- Repeater 有个ItemDataBound事件吧.. --------------------编程问答--------------------
想起来蛮简单的哦! --------------------编程问答-------------------- 没人懂哦? --------------------编程问答-------------------- 在保存的时候的事件
for (int i=0 i<Repeater.items.count;i++)
{
DropDownList d=Repeater.items[i].findcontrol("DropDownList1") as DropDownList ;
if (d.selectValue!=0)
{
//写你的方法
}
} --------------------编程问答-------------------- 不好意思 才是手写的 可能会有错误
--------------------编程问答-------------------- 其实你们都想得太简单了,像以上效果,保存值,其实也没那么容易,以前我做的时候,是设计合理,所以才好做,比如,当会员登陆了后,所选择的那个效果是有表保存的,像你们说URL,如果有二十条,那会惨了,还有,翻页也要保存的话,更惨。所以,保存到数据库是最好的选择。那样,只要重新装载就OK了 --------------------编程问答-------------------- 如果利用缓存,Session等,同上~~~~~~~~~~~~~~~~~ --------------------编程问答--------------------
for (int i = 0; i < Repeater1.Items.Count; i++)
{
DropDownList d = Repeater1.Items[i].FindControl("DropDownList1") as DropDownList;
if (d.SelectedValue != "0")
{
//this is your code
}
}
是啊,想着好简单,结果遇到麻烦。你是做了登陆,我这个没登陆,就要保存,你有没有办法? --------------------编程问答--------------------
这样循环得到的值,和选中的值结果不一样了。 --------------------编程问答-------------------- 怎么我的代码不对吗
if (d.SelectedValue != "0")
{
//这个地方写插入数据库 到时候你在到这个界面的时候 读数据库不就哦了吗?
}
--------------------编程问答--------------------
就单看代码,理论上来说 不可能取到的值和选中的发生区别呀,lz用断点看看是哪里发生的重新绑定出现错误 --------------------编程问答--------------------
不能保存到数据库哦,不知道是哪个用户。你这样循环得到的值与选中的值结果不一样的。string a = d.SelectedValue[i].tostring();我就循环得到DropDownList里面的值,不知道为什么就不行。 --------------------编程问答--------------------
“一个”?
你把模板定义跟运行时搞混了吧?! --------------------编程问答-------------------- 最好不要
if (d.SelectedValue != "0")
{
}这样
你建个数组 把选择的全放进去,这样位置也不会错 --------------------编程问答--------------------
事件放生改变时,没有重新绑定。 --------------------编程问答-------------------- 是不是你绑定的时候就没有value?
我先吃饭 QQ 446294446 加我 一会给你远程弄 --------------------编程问答-------------------- 慢慢去搞吧,这种东西是给初学者练手、理解asp.net机制的简单习题。 --------------------编程问答-------------------- Repeater就一个DropDownList,数据动态加载的。DropDownList跟着循环,有多少行就有多少个DropDownList。你有没有什么好办法? --------------------编程问答--------------------
看来是高人哦。 --------------------编程问答-------------------- 你在Repeater中的ItemDataBound里面循环读每一个Item,通过FindControl来读取每一个的值。只有如果是分页的话。就有点麻烦了! --------------------编程问答-------------------- 不行哦,不行哦,出大问题了!
补充:.NET技术 , ASP.NET