当前上下文中不存在名称 'TXTF'
The name 'TXTF' does not exist in the current context
我是 C# 的新手,目前我正在尝试制作 2 个简单的天气文本框,一个以摄氏度为单位显示温度,另一个文本框以华氏度为单位显示温度,我想做的是制作用户在任何文本框中输入温度,另一个将计算并将其转换为摄氏度和华氏度,反之亦然,
但我不断收到错误消息:
“名称‘TXTF’在当前上下文中不存在”
“名称‘TXTC’在当前上下文中不存在”
这是我的代码:-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MainWeb2
{
public partial class Weather : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
String C = TextBox1.Text;
int TXTC = Int32.Parse(C);
string TXTC1 = TXTC.ToString();
TXTC = (TXTF - 32) * (5 / 9);
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
String F = TextBox2.Text;
int TXTF = Int32.Parse(F);
string TXTF1 = TXTF.ToString();
TXTF = (TXTC) * (9 / 5) + 32;
}
}
}
我该怎么办?
您正在各自的其他 TextBox_Changed
回调中使用 TXTC
和 TXTF
,即使它没有在该函数中定义。
要解决此问题,您需要在函数外部声明 TXTC
和 TXTF
,以便它们都可以访问这些值。
namespace MainWeb2 {
public partial class Weather : System.Web.UI.Page {
// Declare PlaceHolders for TextBoxes with default value of 1.
int TXTC = 1;
int TXTF = 1;
protected void TextBox1_TextChanged(object sender, EventArgs e) {
...
Int32.TryParse(C, out TXTC);
...
}
protected void TextBox2_TextChanged(object sender, EventArgs e) {
...
Int32.TryParse(F, out TXTF);
...
}
}
}
你的看起来不错。唯一的部分是您需要设置两个文本框 postback = true.
这两个文本框的设置:
唯一缺少的部分是您需要设置两个文本框以触发 post 返回。
我想你也可以在表格上放一个按钮,输入值然后点击计算按钮。
但是,对于两个文本框,您需要设置 postback = true。
你会写代码吗?那么,你可以使用这个:
{
int TXTC;
TXTC = Int(TextBox1.Text);
TextBox2.Text = (TXTC - 32) * (5 / 9);
}
对于文本框 2,这个:
{
int TXTC;
TXTC = Int(TextBox2.Text);
TextBox1.Text = (TXTC) * (9 / 5) + 32;
}
因此系统会为您将数据类型“转换”为文本。事实上,你甚至可以这样做,而且它会起作用:
第一个:
TextBox2.Text = (TextBox1.Text - 32) * (5 / 9);
和
TextBox1.Text = TextBox2.Text * (9 / 5) + 32;
因此,与原生 C++ 不同,.net 为您做了很多自动转换。
而如果将每个文本框的格式设置为数字(此设置)
然后用户只能输入数字 - 因此通过这样做可以提供一些额外的类型检查。 (用户将只能输入数字 - 因此您不需要所有类型转换代码。
总而言之?您的代码将会并且应该工作。只是缺少自动 post 返回设置。
我是 C# 的新手,目前我正在尝试制作 2 个简单的天气文本框,一个以摄氏度为单位显示温度,另一个文本框以华氏度为单位显示温度,我想做的是制作用户在任何文本框中输入温度,另一个将计算并将其转换为摄氏度和华氏度,反之亦然,
但我不断收到错误消息: “名称‘TXTF’在当前上下文中不存在” “名称‘TXTC’在当前上下文中不存在”
这是我的代码:-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MainWeb2
{
public partial class Weather : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
String C = TextBox1.Text;
int TXTC = Int32.Parse(C);
string TXTC1 = TXTC.ToString();
TXTC = (TXTF - 32) * (5 / 9);
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
String F = TextBox2.Text;
int TXTF = Int32.Parse(F);
string TXTF1 = TXTF.ToString();
TXTF = (TXTC) * (9 / 5) + 32;
}
}
}
我该怎么办?
您正在各自的其他 TextBox_Changed
回调中使用 TXTC
和 TXTF
,即使它没有在该函数中定义。
要解决此问题,您需要在函数外部声明 TXTC
和 TXTF
,以便它们都可以访问这些值。
namespace MainWeb2 {
public partial class Weather : System.Web.UI.Page {
// Declare PlaceHolders for TextBoxes with default value of 1.
int TXTC = 1;
int TXTF = 1;
protected void TextBox1_TextChanged(object sender, EventArgs e) {
...
Int32.TryParse(C, out TXTC);
...
}
protected void TextBox2_TextChanged(object sender, EventArgs e) {
...
Int32.TryParse(F, out TXTF);
...
}
}
}
你的看起来不错。唯一的部分是您需要设置两个文本框 postback = true.
这两个文本框的设置:
唯一缺少的部分是您需要设置两个文本框以触发 post 返回。
我想你也可以在表格上放一个按钮,输入值然后点击计算按钮。
但是,对于两个文本框,您需要设置 postback = true。
你会写代码吗?那么,你可以使用这个:
{
int TXTC;
TXTC = Int(TextBox1.Text);
TextBox2.Text = (TXTC - 32) * (5 / 9);
}
对于文本框 2,这个:
{
int TXTC;
TXTC = Int(TextBox2.Text);
TextBox1.Text = (TXTC) * (9 / 5) + 32;
}
因此系统会为您将数据类型“转换”为文本。事实上,你甚至可以这样做,而且它会起作用:
第一个:
TextBox2.Text = (TextBox1.Text - 32) * (5 / 9);
和
TextBox1.Text = TextBox2.Text * (9 / 5) + 32;
因此,与原生 C++ 不同,.net 为您做了很多自动转换。
而如果将每个文本框的格式设置为数字(此设置)
然后用户只能输入数字 - 因此通过这样做可以提供一些额外的类型检查。 (用户将只能输入数字 - 因此您不需要所有类型转换代码。
总而言之?您的代码将会并且应该工作。只是缺少自动 post 返回设置。