在.NET 中的一个小问题。。。。帮解决一下!!!

nfnxg123456 2008-04-02 11:30:57
在一个页面中有两个 DropDownList 控件 和一个BUTTON 。。。
第一个DropDownList 是通过数据榜定得到显示数据的。。。而第二则是通过JS设置。AJAX 导步读取数据得到的显示数据。
但是一点BUTTON 后。。在返回页面则第二个用JS设置数据的DropDownList 的值 全变没有了。。。。
问:怎么才能保存通过JS设置的控件的值。
通过这个问题。。又联想了一步。。也是在ASPX页面中。我的DropDownList 换成HTML控件但。。BUTTON 还是ASPX的。。我也想把他们的值也保存下来。。不要一点BUTTON 在返回页面,则是他们初始化的值。。不想变成这样。要保存下来 
============================================
...全文
163 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
nfnxg123456 2008-04-02
  • 打赏
  • 举报
回复
[size=30px]风铁[/size]
anita2008 2008-04-02
  • 打赏
  • 举报
回复
偶太浮躁,看不下去了?
cpp2017 2008-04-02
  • 打赏
  • 举报
回复
select控件只能提交一个value到服务器.
rohan 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 nfnxg123456 的回复:]
引用 2 楼 rohan 的回复:
把button的操作也用ajax实现



这也是个问题。。。AJAX 能提交FORM 吗???
不会让我用“?”传参式把。。。可要小心了。。会累死人的
[/Quote]
你用微软ASP.NET AJAX 只要加个UpdatePanel就可以了。
nfnxg123456 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lray 的回复:]
用ViewState存储第二个DropDwonList的值信息,每次加载页面的时候重新生成就是了,ViewState只要页面不变,信息不会丢失
比如
public string sss
{
get
{
if (ViewState["sss"] == null)
ViewState["sss"] = "ddd";
return (string)ViewState["sss"];
}
set { ViewState["sss"] = value; }
}
[/Quote]

YE,想要的方式终于出现了。因为不理解ViewState是做什么用的。
可是还是不理解。他写的那人属性的意思。
保存值_通过什么样的方式都可以保存。。。
============================================
总结:总之通过JS设置服务器控件。得值。。不能被直接保存下来。只能通过我们取他以前的值。。在通过。NET把他加到里面。
是不是这样????
lsyapple 2008-04-02
  • 打赏
  • 举报
回复
给你个 思路

<Input type="text" value="保存的值" ID="yourid" runat="Server" />

这样就不会丢了
nfnxg123456 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 cpp2017 的回复:]
hidden是服务器控件,在客户端设置是可以保存的.
它与textbox 是一样,你改变了值,会提交到后台.
[/Quote]

同样是服务器控件 为什么 HIDDEN 就能存JS改变的值 。。为什么DROPDOWNLIST 不能。。。
是不是都能。。。有可能是我代码哪写错了。。导致不能保存JS设置的选项?
lray 2008-04-02
  • 打赏
  • 举报
回复
用ViewState存储第二个DropDwonList的值信息,每次加载页面的时候重新生成就是了,ViewState只要页面不变,信息不会丢失
比如
public string sss
{
get
{
if (ViewState["sss"] == null)
ViewState["sss"] = "ddd";
return (string)ViewState["sss"];
}
set { ViewState["sss"] = value; }
}
nfnxg123456 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 rohan 的回复:]
把button的操作也用ajax实现
[/Quote]


这也是个问题。。。AJAX 能提交FORM 吗???
不会让我用“?”传参式把。。。可要小心了。。会累死人的
cpp2017 2008-04-02
  • 打赏
  • 举报
回复
hidden是服务器控件,在客户端设置是可以保存的.
它与textbox 是一样,你改变了值,会提交到后台.
nfnxg123456 2008-04-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 meng_master 的回复:]
判断一下IsPostBack
[/Quote]

没理解问题意思。。。。
IsPostBack这种问题。。我已经克服了
nfnxg123456 2008-04-02
  • 打赏
  • 举报
回复
这个 hidden 是服务器中控件吗? 
如果我能过JS设置服务器的控件的值 。。。他会保存下来吗。。。。这会不会和我通过JS设置DropDwonLit 的值。。他不会被保存下来。。形式这不一样吗?
不会让我在服务器那取这个HIDDEN 的值。。。然后在通过服务器设置这个HIDDEN的值。。
cpp2017 2008-04-02
  • 打赏
  • 举报
回复
或者在前台用hidden保存,后台再添加items
	
SaveValue();

function SaveValue()
{
var str = "";
for(var i=0;i<Form1.DropDownList1.options.length;i++)
{
var o = Form1.DropDownList1.options[i];
str += o.innerText +","+o.value+"|";
}

Form1.Hidden1.value =str;
}




if(this.IsPostBack)
{
string sValue = this.Hidden1.Value.Trim();
string[] ary = sValue.Split('|');
this.DropDownList1.Items.Clear();
for(int i=0;i<ary.Length;i++)
{
if(ary[i].Split(',').Length!=2)
continue;
this.DropDownList1.Items.Add(new ListItem(ary[i].Split(',')[0],ary[i].Split(',')[1]));
}

大宇_ 2008-04-02
  • 打赏
  • 举报
回复
判断一下IsPostBack
rohan 2008-04-02
  • 打赏
  • 举报
回复
把button的操作也用ajax实现
cpp2017 2008-04-02
  • 打赏
  • 举报
回复
用hidden将select的value和text保存下来,页面加载时再根据这值添加到页面中.

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧