C# 共享变量并将文本框数据放入数组
我对这门学科一无所知,非常迷茫。我的网站上有一个文本框。输入文本框的数据将被放入一个数组中,并且计数器将增加。一旦计数器达到5,就不能再向数组中添加更多 将有一个按钮显示输入到数组中的所有名称,这将清除数组和计数器 我不知道如何在C#中对类和方法进行排序。我把按钮放在主类中,这样我就可以在它们之间共享变量,但是我不能访问文本框 这里有一些代码,因为我正试图弄明白这一点,但它可能不属于这里。代码也相当简单,因为我只是想把它弄清楚。感谢您的帮助C# 共享变量并将文本框数据放入数组,c#,asp.net,C#,Asp.net,我对这门学科一无所知,非常迷茫。我的网站上有一个文本框。输入文本框的数据将被放入一个数组中,并且计数器将增加。一旦计数器达到5,就不能再向数组中添加更多 将有一个按钮显示输入到数组中的所有名称,这将清除数组和计数器 我不知道如何在C#中对类和方法进行排序。我把按钮放在主类中,这样我就可以在它们之间共享变量,但是我不能访问文本框 这里有一些代码,因为我正试图弄明白这一点,但它可能不属于这里。代码也相当简单,因为我只是想把它弄清楚。感谢您的帮助 <script runat="server"&g
<script runat="server">
public partial class Arrays
{
private int Counter = 0;
protected void btnEnter_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
btn.Text = (Int32.Parse(btn.Text) + 1).ToString();
Label1.Text = "Enter Another student's name";
}
public void btnEnter_Click2(object sender, EventArgs e)
{
Label1.Text = "Enter a student's name ";
}
}
</script>
公共部分类数组
{
专用整数计数器=0;
受保护的无效b输入\单击(对象发送者,事件参数e)
{
按钮btn=(按钮)发送器;
Text=(Int32.Parse(btn.Text)+1.ToString();
Label1.Text=“输入其他学生的姓名”;
}
public void b输入者\单击2(对象发送者,事件参数e)
{
Label1.Text=“输入学生姓名”;
}
}
首先,您需要关注如何在页面上保留以前的数据
protected void btnEnter_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
var Counter = Int32.Parse(btn.Text);
// here you save the name in the array
// an magically is saved inside the page on viewstates data
// and you can have it anywhere on code behind.
cArrKeepNames[Counter] = NameFromEditor.Text;
Counter++;
if(Counter >= 5)
{
btn.Enable = false;
Label1.Text = "No more studen's names please";
}
else
{
btn.Text = Counter.ToString();
Label1.Text = "Enter Another student's name";
}
}
从一个帖子到另一个帖子,您可以将它们存储在ViewState
控件的ether上
正如我看到的,在btn.Text
上有一个保存上一个状态,这不是很酷,但可以接受
protected void btnEnter_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
// the btn.Text keeps the number of post backs (enters of name).
var Counter = Int32.Parse(btn.Text);
Counter++;
if(Counter >= 5)
{
Label1.Text = "No more studen's names please";
}
else
{
btn.Text = Counter.ToString();
Label1.Text = "Enter Another student's name";
}
}
正如您所看到的,将计数器“存储”在btn.Text
中,使用它可以知道许多帖子已经完成
您可以使用类似的方式来存储输入的名称。我更喜欢将它保存在viewstate上,我可以用这段代码来实现这一点
const string cArrNameConst = "cArr_cnst";
public string[] cArrKeepNames
{
get
{
if (!(ViewState[cArrNameConst] is string[]))
{
// need to fix the memory and added to viewstate
ViewState[cArrNameConst] = new string[5];
}
return (string[])ViewState[cArrNameConst];
}
}
使用该代码,您可以从0->4向代码中添加cArrKeepNames[]
上的任何名称,并将其放在回邮后,因为这是将其保留在页面的视图状态
protected void btnEnter_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
var Counter = Int32.Parse(btn.Text);
// here you save the name in the array
// an magically is saved inside the page on viewstates data
// and you can have it anywhere on code behind.
cArrKeepNames[Counter] = NameFromEditor.Text;
Counter++;
if(Counter >= 5)
{
btn.Enable = false;
Label1.Text = "No more studen's names please";
}
else
{
btn.Text = Counter.ToString();
Label1.Text = "Enter Another student's name";
}
}
这样的简单代码可以随时读取数组:
foreach (var One in cArrKeepNames)
txtOutput.Text += "<br>" + One;
foreach(cArrKeepNames中的变量1)
txtOutput.Text+=“
”+一个;
我测试了一下,效果很好。如果我们解决了你的学校作业,你还是迷路了。我不是在寻找答案,我是在寻求指导。我甚至不知道如何开始这件事,我的教授在课堂上快速浏览了一遍。好的,接受了,我会给你一些指导,非常感谢。我有一个标签,上面写着“输入学生的名字”按钮时,学生的名字会进入数组,计数器会增加,标签现在会说,“输入另一个名字”我不断地得到一个关于嵌套和不尊重的错误。如果标签在课堂上,我该如何更新?亚里士多德,非常感谢!我要学习这个,希望我的C#技能会更强。@user1657478我希望会,因为如果他们在一家公司雇用你,你就不能让我为你工作:)