注册 登录
编程论坛 ASP.NET技术论坛

同一页面不同函数间怎么传递值啊?

yunj1105 发布于 2007-07-17 17:42, 1210 次点击

同一页面不同函数间怎么传递值啊?

16 回复
#2
cobby2007-07-17 17:56
用参数啊,函数头在定义的时候括号里就加上参数列表,调用时用参数调用。或者定义一些全局变量,通过修改和访问全局变量来实现值传递。不过建议用前者
#3
yunj11052007-07-17 18:18
能不能给个例子啊?
#4
yunj11052007-07-17 18:22

我想实现
private string action;
protected void But_add_Click(object sender, EventArgs e)
{
Panel_add.Visible = true;
txt_timu.Focus();
action = "add";
}
protected void But_ok_Click(object sender, EventArgs e)
{
if (action == "add")
{
string str_add = "insert into zhuti (zhuti,neirong)values('" + txt_timu.Text.Replace("'", "_") + "','" + txt_neirong.Text.Replace("'", "_") + "')";
co_shiti.ENQ(str_add);
Response.Write("<script defer>alert('添加成功!');</script>");
}
dgbind();
txt_timu.Text = "";
txt_neirong.Text = "";
Panel_add.Visible = false;
}
我这样写action为空,大家指点一下

#5
shrekjxf2007-07-17 19:57

asfadfasd

#6
cobby2007-07-18 08:23
把action改成public定义看看
#7
yunj11052007-07-18 08:46

不对 还是

#8
来自北方的狼2007-07-18 09:06
private string action;


定义里面去掉private试试
定义在Page_Load前
#9
来自北方的狼2007-07-18 09:15
还有个办法。。。用session
#10
川流不息2007-07-18 09:55
把action改成靜態變量試試。

private static action;

你有沒有先點賦值的那個按鈕?
#11
yunj11052007-07-18 10:41
点了 我现在全用session了
#12
川流不息2007-07-18 10:45
你在本頁面中不需要用session呀。我記得用變量就可以了。
像我在vs2003的一個項目中,有一個變量用來存儲當前DataGrid的頁面號:
int g_CompetePageNumber=1 ;//保持DataGrid頁面號

直接這樣給就行了。即使刷新也可以得到的。
#13
yunj11052007-07-18 10:53

恩 我是想在dgitem和But_ok_Click函数中给action符值,然后在But_ok_Click中判断action的值来执行操作 可是action传到But_ok_Click时就为空了

#14
来自北方的狼2007-07-18 11:01
你跟踪赋值语句看看赋上值没
#15
jimnox2007-07-18 11:05
全局变量、参数、指针参数(ref, out)都可以
#16
yunj11052007-07-18 11:24

把action改成靜態變量試試。

private static action;

你有沒有先點賦值的那個按鈕? 好了 调对了

#17
jyoseyi2007-07-18 17:10
你可以把
Panel_add.Visible = true;
txt_timu.Focus();
action = "add";

写在
protected void But_ok_Click(object sender, EventArgs e)
{


}


你是想通过 action 来判断选择的是什么操做把? 其实这样做不太好:(
1