我创建在C#中的SQL语句的价值,我想获得在先前的形式从一个文本框中的值:试图让一个文本框
SqlParameter PeriodFrom = new SqlParameter("@PeriodFrom", SqlDbType.VarChar);
PeriodFrom.Value =
我只是不确定等号后面的内容。我试过表格name.textbox name
。
我创建在C#中的SQL语句的价值,我想获得在先前的形式从一个文本框中的值:试图让一个文本框
SqlParameter PeriodFrom = new SqlParameter("@PeriodFrom", SqlDbType.VarChar);
PeriodFrom.Value =
我只是不确定等号后面的内容。我试过表格name.textbox name
。
在形式背后的代码,表单类中,你可以声明一个属性:
public string TextBoxValue
{
get
{
return textBoxName.Text;
}
}
你可以像这样使用它与你的SqlParameter:
SqlParameter PeriodFrom = new SqlParameter("@PeriodFrom", SqlDbType.VarChar);
PeriodFrom.Value = FormClassName.TextBoxValue;
编辑:
这是行不通的,因为Form类的对象也不是一成不变的,它不会持续。要做到这一点,您需要对Program类进行更改。您将需要在Program类添加静态数据成员如下:
public static FormClassName form;
,并需要通过这在下面的主要方法:
form = new FormClassName();
Application.Run(form);
而且在SqlParameter的,你可以通过它是这样的:
SqlParameter PeriodFrom = new SqlParameter("@PeriodFrom", SqlDbType.VarChar);
PeriodFrom.Value = Program.form.TextBoxValue;
我试图给你一种方法来获得价值,但我不认为这是一种好的做法。理想情况下,为了在表单或层之间传递值,需要有一些存储和检索值的机制,例如上下文或Session。这不是解决方案,而是解决方法。如果代码因上述更改而变得混乱,我不承担任何责任。:)
@ CHRISTOPHER MCCONVILLE - 如果这对你有帮助,你也可以赞成这一点。 :) – 2012-07-18 10:57:26
YourPreviousForm.YourTextBox.Text
通过使用TextBox
Text
财产获取文本框的值。
PeriodFrom.Value =PrevForm.TextBox.Text;
正如你说的,有没有accessbile由于保护级别,你需要从protected
对形式的访问修饰符工作public
,以便它可以访问。
现在出现一个错误,由于其保护级别无法访问 – 2012-07-17 11:27:43
更改您的访问修饰符为公开,所以它可以访问... – 2012-07-17 11:29:09
如果你的文本框是公开的表格上声明,那么你将能够从与它创建的范围内访问其属性。
PeriodFrom.Value = otherForm.TextBoxName.Text;
如果“之前的”表单对象不可用给你,那么你将不得不检索这个值并将它作为参数传递给你的新表单(或者其他类型的东西)。如果您需要帮助,请提供更多代码/详情。
您的文本的修改器属性更改为公共 然后
formname.textboxname.Text
将它们更改为public没有帮助:( – 2012-07-24 14:53:39
<%@ PreviousPageType VirtualPath="~/SourcePage.aspx" %>
if(PreviousPage != null)
{
if(PreviousPage.IsCrossPagePostBack == true)
{
PeriodFrom.Value =PrevForm.TextBox.Text;
}
}
else
{
PeriodFrom.Value = "Not a cross-page post.";
}
你尝试过formName.textBoxName.Text; – ThePower 2012-07-17 11:22:01
是的,它没有工作,由于其保护水平:( – 2012-07-19 07:57:18