ASCX控件被多个页面调用后,变量值被串成一样的了,请问要如何保证不同的ASPX页里的这个控件值互不影响呀?

PUB.ASCX代码:privatestaticstring_APPS_NO;publicstringAPPS_NO{set{_APPS_NO=value;}get{re... PUB.ASCX代码:
private static string _APPS_NO;
public string APPS_NO
{
set { _APPS_NO = value; }
get { return _APPS_NO; }
}
A.ASPX代码:
PUB.APPS_NO="SYS";
B.ASPX代码:
PUB.APPS_NO="USER";
执行A.ASPX后,再执行B.ASPX,结果A.ASPX的APPS_NO就变成USER了
请问要如何保证互不影响呀?
TO:jjfgtr
我目前是这样的:在不同的ASPX页面对ASCX页属性赋值后,是要在ASCX页,根据不同的值,做不同的事务处理

TO:fansui1983
去掉STATIC后,在ASPX页面里的DropDownList回发页面后,值就丢失了.

TO:ALL
非常感谢大家的回复!

前台(因为原来没有在后台用NEW的方式,如果改成这样,改动会多些.):
<%@ Register TagName="PUBOBJ" TagPrefix="I_PUBOBJ" Src="~/PubUI/PUBOBJ.ascx" %>
<I_PUBOBJ:PUBOBJ id="PUBOBJ1" runat="server" />
最后是综合了大家的意见,做了代码的更改,ASCX:改成(在属性赋值时,将其保存到隐藏域):
public string APPS_NO
{
set { hide_APPS_NO.Value = value; }
get { return hide_APPS_NO.Value; }
}

百度好像只能采纳一个答案,其他的朋友见谅呀.
展开
 我来答
你是谁LCqTt
2011-02-14 · TA获得超过602个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:858万
展开全部
不要用static,使用static会造成整个应用都共享该成员变量,因此就出现了你说的现象。
你这种情况可以用ViewState解决:
public string APPS_NO
{
set { VewState["APPS_NO"] = value; }
get { return VewState["APPS_NO"] == null ? string.Empty : VewState["APPS_NO"].ToString(); }
}
jjfgtr
2011-02-14 · TA获得超过167个赞
知道答主
回答量:157
采纳率:0%
帮助的人:0
展开全部
最简单的方法用hidden控件,aspx.cs中定义个public变量tmpPB,保存ckUserID的值,然后aspx页面放一个hidden控件:<input type="hidden" id="h1" value="<%=tmpPB %>" />
这样就可以在ascx里面用js获取到h1的值就是ckUserID的值了:
var ckUserID=document.getElementByID("h1").value;

参考资料: 百度一下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fansui1983
2011-02-14 · TA获得超过193个赞
知道小有建树答主
回答量:186
采纳率:100%
帮助的人:58.3万
展开全部
private static string _APPS_NO;
去掉 static
private string _APPS_NO;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
icelingk
2011-02-15 · 超过16用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:57.5万
展开全部
private static string _APPS_NO;

不能定义为static的,这样整个应用程序中,只会显示最后的值。
应该把static去掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式