【问题标题】:string does not exist in current context当前上下文中不存在字符串
【发布时间】:2016-06-27 10:10:47
【问题描述】:

在 MyClass(TransactionId 和 pnrno) 类中声明的字符串 在按钮单击中不起作用

错误信息

名称(TransactionId 和 pnrno)在当前上下文中不存在

class MyClass
{   
        
    public string TransactionID { get; set; }
    public string pnrno { get; set; }
    public string trainno { get; set; }
    public string dateofbooking { get; set; }
    public string className { get; set; }
    public string Quota { get; set; }
    public string text { get; set; }
}

protected void btnsave_Click(object sender, EventArgs e)
{
    SqlConnection con = new SqlConnection(@"Data Source=logistics.jayom.org,1434;Initial Catalog=logistics_kl;User ID=kl_admin;Password=Admin@2222");
    SqlCommand cmd = new SqlCommand("insert into testfbhv (TransactionId, pnrno) values('" + TransactionID + "','" + pnrno + "')", con);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
}

【问题讨论】:

  • 您希望它们目前具有什么价值?
  • 这取决于用户输入的内容
  • 你应该先创建一个你的类的实例MyClass cs = new MyClass(); 然后:cs.TransactionID
  • 好的,想想用户将在哪里输入它们,你将它们存储在哪里,以及你希望你的方法如何获得它。

标签: c#


【解决方案1】:

btnsave_Click 将成为 Form1 类的一部分,而不是您展示的 MyClass 的一部分。结果,不,它看不到你提到的字符串。

您需要创建一个MyClass 的实例,并为其设置一些值。(在您的示例代码中未提及),这样您就可以...

让我们假设Form1 有一个名为mc 的变量MyClass - 并且是在创建时创建的:那么你点击按钮就可以拥有mc.TransactionalID

【讨论】:

  • 将其视为人类术语。假设您是单击按钮的表单。您知道自己对所有事物的想法。我是“ MyClass”,如果不问我,您就无法说出我的想法。班级就像人一样,他们是独立的,你看不到 a) 你没有权限 b) 你不能称之为“transactionid”,因为你没有,但我有.. 你需要问我的.. 但也,在你问我之前你需要我存在,非静态类只是模板,所以你需要创建一个我的实例(千篇一律),这样你才能和我交谈。
  • 我是c#新手,如何制作类的实例
  • @Ibibo 我在您的问题下方的评论中提到。您应该首先创建一个类的实例,例如 MyClass cs = new MyClass(); 然后您可以在您的 insert 命令中使用它,如下所示:cs.TransactionID
  • 我使用了instance但忘记了谢谢大家的支持
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2019-08-05
  • 2020-07-31
  • 2021-01-16
  • 1970-01-01
  • 2018-06-07
相关资源
最近更新 更多