读书人

一个简单的aspx.cs后台变量有关问题

发布时间: 2013-07-20 11:07:48 作者: rapoo

一个简单的aspx.cs后台变量问题,求朋友们思维帮助!!
string rl;

public void Page_Load(object sender,EventArgs e)
{

StreamReader sr = File.OpenText(Server.MapPath("article/vc.txt"));

rl = sr.ReadLine;
sr.Close();
}


public string hh()
{ return(rl);
}

我第一次在本论坛发帖,求各位程序员高人们指点!
我这个程序的作用是:
(1)首先定义一个字符串 rl ,
(2)然后在page_load事件函数中给rl 赋予一段从外面读取文本的值,就是rl等于文本内容
(3)定义公共字符串hh,在里面返回rl
这个公用字符串hh,是用来在前台页面中的javascript代码中接收的,那部分已经测试成功,即前台JS代码
用<%=hh()%>接收hh中的字符,然后用这个字符创建textNode,并赋予html元素。总的功能就是读取文本并嵌入html元素。

其余的部分都是对的,但问题就在aspx.cs中得到上面这段代码中,明眼人都看出来了,在page_load函数中赋予rl=sr.ReadLine() 的值,在函数外面不起作用,函数以外rl未赋值,所以hh中的rl相当于为空,这就是我现在的矛盾,怎么把page_load中赋好值的rl变量 导出或者使他怎么传递到外面,以便使hh中的rl是等于文本的? 怎样修改程序,搭个桥接个线

asp .net 求助
[解决办法]
Refer:
http://www.cnblogs.com/insus/articles/2036271.html
[解决办法]
你要把rl定义为全局变量啊
[解决办法]



public void Page_Load(object sender,EventArgs e)
{
if(!IsPostBack)
{
StreamReader sr = File.OpenText(Server.MapPath("article/vc.txt"));

rl = sr.ReadLine;
sr.Close();
}
}

[解决办法]
后台:


StreamReader sr = File.OpenText(Server.MapPath("article/vc.txt"));
this.Literal1.Text = "jsVariable=\"" + sr.ReadLine+ "\";";
前台:

9 <script language="javascript" type="text/javascript">
10 <!--
11 //宣告一个变量,方便调用
12 var jsVariable ;
13 //在Javascript使用WebControl Literal 可以调用aspx.cs需要的值。
14 <asp:Literal id="Literal1" runat="server" />
15 //下面是调用变量。当然你的处理代码不是简单的如下只抛出信息而已。
16 alert(jsVariable);
17
18 // -->
19 </script>
懂了?

读书人网 >asp.net

热点推荐