当前位置:编程学习 > C#/ASP.NET >>

新手求教.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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,