我不能从这里引用文本框的原因是什么?我在我的项目中创建了另一个文件并放入
namespace EnterData.DataEntry
{
public partial class WebForm1 : System.Web.UI.Page
{
使其进入与webform相同的命名空间和部分类。但我无法访问文本框!
public partial class WebForm1 : System.Web.UI.Page
{
public class LOMDLL.Main_Lom_Form PopulateMainForm()
{
//populate class
LOMDLL.Main_Lom_Form TheForm = new LOMDLL.Main_Lom_Form();
try
{
TheForm.lom_number = lom_numberTextBox.Text.ToInt();
TheForm.identified_by = identified_byTextBox.Text;
TheForm.occurrence_date = occurrence_dateTextBox.Text.ToDateTime();
//TheForm.pre_contact = pre_contactTextBox.Text; //need to create this texdtbox
//TheForm.pre_practice_code = pre_practice_codeTextBox.Text; //create this
TheForm.report_by = report_byTextBox.Text;
TheForm.report_date = report_dateTextBox.Text.ToDateTime();
TheForm.section_c_comments = section_c_commentsTextBox.Text;
TheForm.section_c_issue_error_identified_by = section_c_issue_error_identified_byTextBox.Text;
TheForm.section_d_investigation = section_d_investigationTextBox.Text;
TheForm.section_e_corrective_action = section_e_corrective_actionTextBox.Text;
TheForm.section_f_comments = section_f_commentsTextBox.Text;
}
catch (Exception e)
{
}
我收到此错误:
ERRO r 20 Cannot access a non-static member of outer type 'EnterData.DataEntry.WebForm1' via nested type 'EnterData.DataEntry.WebForm1.LOMDLL' C:\Documents and Settings\agordon\My Documents\Visual Studio 2008\Projects\lomdb\EnterData\DataEntry\DAL.cs 68 38 EnterData
我无法从这里访问文本框的原因是什么?
答案 0 :(得分:2)
这里有一个错误:
public class LOMDLL.Main_Lom_Form PopulateMainForm()
你在webform类中声明这个类吗?无论如何,班级声明是错误的。
关于你问题的最后一点,当你有这个:
public static class Main_Lom_Form
想象你从其他webform类搬出来了,你周围的命名空间是什么(之前)?只需在同一个命名空间内移动类而不是类WebForm1
,你就不需要将命名空间放在类名之前,你就可以像这样创建它:
var obj = new Main_Lom_Form();
如果它有意义,但我怀疑; - )
答案 1 :(得分:2)
我认为您的代码存在一些问题。弹出的第一个是:
public class LOMDLL.Main_Lom_Form PopulateMainForm()
这不是一个有效的C#代码行。我假设你真的打算写:
public LOMDLL.Main_Lom_Form PopulateMainForm()
其次,如果您将Main_Lom_Form
定义为静态,则无法实例化它,它是一个静态类。你可以解决这个问题:
public class Main_Lom_Form
我认为它是上述两个问题的组合,导致编译器中风。
答案 2 :(得分:2)
你的意思是在这里筑巢吗?如果您打算声明一个返回Main_Lom_Form()
的方法,请尝试以下方法:
public LOMDLL.Main_Lom_Form PopulateMainForm()
如果您打算针对名为WebForm1
的{{1}}成员调用该方法,请在调用TheForm
之外实例化该方法:
PopulateMainForm