新手求教.net一简单问题
.cs文件中public void pg_list()
{
string url = "1110000";
}
protected void Submit_ServerClick(object sender, EventArgs e)
{
这里面能否引用url这个变量? 怎么引用呢?
}
--------------------编程问答-------------------- 呵呵,你这个好像挺奇怪的啊。每遇到过。顶。 --------------------编程问答-------------------- 不能。
private string url="1110000";
把他写成页面变量就可以了! --------------------编程问答-------------------- 不能 作用域不同 --------------------编程问答-------------------- 你要把string url;定义在方法外面! --------------------编程问答-------------------- 可以引用,,,
C#里面有很多种引用变量的方法.为我们程序员想尽了法子.
不管是怎么设置的都可以引用
方法有ref,out,类.变量
反射和程序集引用等等. --------------------编程问答-------------------- 把url定义成类的属性
或者
更改方法
public string pg_list()
{
string url = "1110000";
return url;
}
--------------------编程问答-------------------- .cs文件中
public void pg_list()
{
string url = "1110000";
}
protected void Submit_ServerClick(object sender, EventArgs e)
{
这里面能否引用url这个变量? 怎么引用呢?
}
-------------------
不能
要是想引用url的话 换一个作用域,也就是说现在url 在pg_list方法外不可见
或者你只是想得到url的值,那把void 改成string 在return url 就可以了 --------------------编程问答-------------------- 你要把公用变量写在class下面才行
private string _url
private string url
{
get {return(_url)};
set {_url = value};
}
然后在每个方法中使用_url --------------------编程问答-------------------- url的作用域只在当前程序块中,出去就不能引用了 --------------------编程问答-------------------- 你这个url是方法内的局部变量,别的方法调用不了的,只有是属性或全局变量/静态变量才可以 --------------------编程问答-------------------- url这个变量是pg_list()方法的内部变量,也就是说正常情况下脱离pg_list()这个方法以后这个变量也就不存在了。如果需要调用的话,通常可以使用以下两类手段:
1、保存变量到整个类的成员变量中,比如这种写法:
public class myClass
{
string myUrl;
public void pg_list()
{
string url = "1110000";
myUrl = url;
}
protected void Submit_ServerClick(object sender, EventArgs e)
{
//调用成员变量myUrl的值
string abc = myUrl;
…………
}
}
其中成员变量根据需求的不同,也可以采用ViewState、Session、Cookie等保存。除此之外,也可以把pg_list()改写一下,成为一个返回值为字符串型的方法,比如这样写:
public class myClass
{
public string pg_list()
{
string url = "1110000";
return url;
}
protected void Submit_ServerClick(object sender, EventArgs e)
{
//调用方法pg_list()中局部变量url的值
string abc = pg_list();
…………
}
}
同理,也可以将pg_list()方法中增加out或者ref参数,都是可以的 --------------------编程问答-------------------- 把string url定义在方法外面就行
不在一个方法里不行 --------------------编程问答--------------------
public void pg_list(ref url)
{
string url = "1110000";
}
protected void Submit_ServerClick(object sender, EventArgs e)
{
string abc;
pg_list(ref abc);
response.write("abc") //输出1110000
}
大概是这个意思,我没调试过 --------------------编程问答-------------------- viewstate["url"] = url;
引用string url2 = viewstate["url"].ToString(); --------------------编程问答-------------------- 上面为
response.write(abc)
补充:.NET技术 , ASP.NET