C# 如何从visible=false文本框传递值?

C# 如何从visible=false文本框传递值?,c#,winforms,textbox,C#,Winforms,Textbox,我在只保存值的文本框上设置了textbox visible=false。当尝试转换该值并将其输入查询时,visible=false失败。既然这显然不是正确的方法,那么正确的方法是什么呢。下面是将两个文本框值传递给查询的代码 private void cmdAddAdd_Click(object sender, EventArgs e) { DataClasses1DataContext db = new DataClasses1DataContext();

我在只保存值的文本框上设置了textbox visible=false。当尝试转换该值并将其输入查询时,visible=false失败。既然这显然不是正确的方法,那么正确的方法是什么呢。下面是将两个文本框值传递给查询的代码

private void cmdAddAdd_Click(object sender, EventArgs e)
        {
            DataClasses1DataContext db = new DataClasses1DataContext();
            int interestsKey;
            interestsKey = Convert.ToInt32(interestsKeyTextBox.Text);
            InterestAdd newAdd = new InterestAdd();
            newAdd.CaseNumberKey = caseNumberKeyTextBox.Text;
            newAdd.InterestsKey = interestsKey;
            db.InterestAdds.InsertOnSubmit(newAdd);
            db.SubmitChanges();

            LoadCaseNumberInterestsKey(interestsKey, newAdd.CaseNumberKey, false, "interestAdd");

            this.interestAddDataGridView.EndEdit();
            this.interestAddDataGridView.Refresh();
        }
我将文本框行为设置为visible=false

谢谢


Kor

因为您将可见性设置为false,所以文本框不包括在表单元素中,因此永远不会发布。如果你不想看到文本框的内容,就使用隐藏的输入。如果您想查看文本框的内容,但不想对其进行更改,可以使用文本框的readonly属性并将其设置为true。这会将值与表单一起发布回服务器,并且不允许用户更改文本框中的值。

因为您将可见性设置为false,所以文本框不包含在表单元素中,因此永远不会发布。如果你不想看到文本框的内容,就使用隐藏的输入。如果您想查看文本框的内容,但不想对其进行更改,可以使用文本框的readonly属性并将其设置为true。这会将值与表单一起发布回服务器,不允许用户更改文本框中的值。

保持文本框可见=真,并将其高度和宽度设置为零。

保持文本框可见=真,并将其高度和宽度设置为零。

您可以使用以下替代方法:

  • 使您的文本框启用(如果您不希望用户修改它)
  • 使用标签并将其前景色背景色设置为相同(这会使其不可见)

您可以使用以下替代方案:

  • 使您的文本框启用(如果您不希望用户修改它)
  • 使用标签并将其前景色背景色设置为相同(这会使其不可见)

您是在文本框的属性页中的设计时设置Visible=false属性,还是在代码中的运行时设置Visible=false属性


如果在代码中(例如在Form_Load中)将文本框Visible=false设置为,则它应该可以工作。

您是在文本框的属性页的设计时设置Visible=false属性,还是在代码的运行时设置Visible=false属性


如果您在代码中(例如在Form_Load中)将textbox Visible设置为false,那么它应该可以工作。

您所说的“它失败”是什么意思?代码和结果将非常有用。您在哪种情况下设置它?确定您的意思是winforms而不是ASP.NET?因为ASP.NET中的visible
false
意味着文本框永远不会到达浏览器。向我们显示代码,否则您的问题和答案将完全是假设性的。@Jon Skeet by Failes我的意思是它会出错,因为两个FK都没有通过。您所说的“它失败”是什么意思?代码和结果将非常有用。您在哪种情况下设置它?确定您的意思是winforms而不是ASP.NET?因为ASP.NET中的visible
false
意味着文本框将永远无法到达浏览器。向我们显示代码,否则您的问题和答案将完全是假设性的。@Jon Skeet by fails我的意思是它会出错,因为两个FK都没有通过。什么是隐藏输入?如何使用它。在尝试c#之前,我只做了一个简短的说明。我唯一的经验是90年代的VBA和VB。除此之外,我是SQL开发人员/DBA,所以如果我不清楚,我向您道歉,这是因为Winforms而不是ASP.Net。编辑:从头开始,似乎OP甚至没有以某种方式指定或确认它。我的赌注也是ASP.Net+1它是winforms,并在标题和标记中这样说。什么是隐藏输入以及如何使用它。在尝试c#之前,我只做了一个简短的说明。我唯一的经验是90年代的VBA和VB。除此之外,我是SQL开发人员/DBA,所以如果我不清楚,我向您道歉,这是因为Winforms而不是ASP.Net。编辑:从头开始,似乎OP甚至没有以某种方式指定或确认它。我的赌注也是ASP.Net+1它是winforms,并在标题和标记中这样说。我将尝试标签替代方案。谢谢我将尝试标签替代品。谢谢