问题描述
大家好,请教关于.net里保存button选中状态的问题:B界面有10个button,用来选中对错。当填写好对错后,跳转到A界面显示选中结果。问题来了,当我再返回B界面的时候,10个button的选中状态都被清空了,请问怎么解决?以下是我的思路:点击button后,用session对button状态进行保存,。,下一次进入这个界面时,首先判断session中是否有值,如果有值,就直接赋值,从而实现保存之前状态可是运行结果还是没有保存,不知道问题出在哪?publicpartialclass_Default:System.Web.UI.Page{intconvert(Booleanvalue)//将布尔值转换成数值0或1{if(value)return1;elsereturn0;}protectedvoidPage_Load(objectsender,EventArgse){if(IsPostBack){if(Session["V1"]!=null)//判断V1、V2、V3存储状态,若被赋过值,则将值传给radiobuttonRadioButton1.Checked=true;if(Session["V2"]!=null)RadioButton2.Checked=true;if(Session["V3"]!=null)RadioButton3.Checked=true;}}protectedvoidButton1_Click(objectsender,EventArgse){intsum=0;sum=convert(this.RadioButton1.Checked)+//对选中的button进行求和convert(this.RadioButton2.Checked)+convert(this.RadioButton3.Checked);Response.Redirect("Form1.aspx?text21="+Convert.ToString(sum));//将结果传至另一个界面的textbox.text里if(this.RadioButton1.Checked){Session["V1"]="1";}if(this.RadioButton2.Checked){Session["V2"]="1";}if(this.RadioButton1.Checked){Session["V3"]="1";}}}
解决方案
解决方案二:
Response.Redirect之后,你断点看一下下边的赋值操作走没有
解决方案三:
试试在页面载入后再赋值
解决方案四:
你直接用js跳转返回上一页,不就行了么?
解决方案五:
该回复于2014-12-06 19:43:08被版主删除
解决方案六:
asp.net程序的做法是不跳转的,在同一个aspx中回发,例如使用MultiView来显示不同的步骤,asp.net才能给你自动管理控件状态。如果你喜欢像asp那样的“不断跳转页面”的写法,那么一切都自己“吭哧吭哧”地写吧,只能弄点简单的。
解决方案七:
可能我说的这个你不理解:这往往是一个不称职的asp.net项目经理领导下的悲催项目里边才容易出现的思路。
解决方案八:
引用5楼sp1234的回复:
asp.net程序的做法是不跳转的,在同一个aspx中回发,例如使用MultiView来显示不同的步骤,asp.net才能给你自动管理控件状态。如果你喜欢像asp那样的“不断跳转页面”的写法,那么一切都自己“吭哧吭哧”地写吧,只能弄点简单的。
让您见笑了,我这是给导师编的一个防火等级评价软件,第一次使用ASP.NET。。对这个不是很熟悉。。如果我要实现控件状态在跳转的时候能够保存,您建议使用哪种方法写程序呢?
解决方案九:
引用3楼daimoyao的回复:
你直接用js跳转返回上一页,不就行了么?
以上我的程序已经给出来了,需要调转到名称为Form1.aspx的界面。。没使用过JS。您能把JS跳转程序加进我的程序吗。谢谢您
解决方案十:
引用2楼u010811342的回复:
试试在页面载入后再赋值
不太明白您的意思、
解决方案十一:
引用9楼qq_24267443的回复:
Quote: 引用2楼u010811342的回复:
试试在页面载入后再赋值不太明白您的意思、
不太了解Page_Load事件是在页面载入执行还是载入完成在执行如果是页面载入时候的话、你的radiobutton还没生成、所以你的session里的数据没法赋值试试吧我也不确定asp页面不太了解
解决方案十二:
一种最笨的方法:两个页面A,B,A跳转到B时,重新打开一个页面B,就行了
解决方案十三:
我不知道你在A页面如何返回的B页面,使用js,获取是很简单的方法。假设有个按钮:OnClientClick="javascript:history.go(-1);"
解决方案十四:
并非同一个Session,如何能取到