我在后端创建了很多按钮,所以我认为将它抽象出来以减少代码行是明智的。当我尝试这样做时,它给了我一个错误,指出“在本范围内不能声明名为”buttonName“的本地或参数,因为该名称在封闭的本地范围中用于定义本地或参数”。我在这里错过了什么吗?我认为这是在这种情况下使用参数的确切原因。为什么我不能使用参数字符串来命名我的按钮?
这是我想要做的一个例子。
反过来,这
Button buttonDetailsEdit = new Button();
buttonDetailsEdit.ID = "ButtonDetailsEdit";
buttonDetailsEdit.Text = "Edit";
buttonDetailsEdit.UseSubmitBehavior = false;
buttonDetailsEdit.Click += new EventHandler(EditCall);
PlaceHolderDetailsContent.Controls.Add(buttonDetailsEdit);
Button buttonDetailsBack = new Button();
buttonDetailsBack.ID = "ButtonDetailsBack";
buttonDetailsBack.Text = "Back to List";
buttonDetailsBack.UseSubmitBehavior = false;
buttonDetailsBack.Click += new EventHandler(IndexCall);
PlaceHolderDetailsContent.Controls.Add(buttonDetailsBack);
进入这个(与地方的旧代码的方法调用)
void CreateButton(string buttonName, string buttonIDText, string buttonText, PlaceHolder PlaceHolderName, string methodCall)
{
Button buttonName = new Button();
buttonName.ID = buttonIDText;
buttonName.Text = buttonText;
buttonName.UseSubmitBehavior = false;
buttonName.Click += new EventHandler(methodCall);
PlaceHolderName.Controls.Add(buttonName);
}
的methodCall部分也是在这里抛出一个错误,我假设因“ methodCall“在这个例子中不存在。
看看'IndexCall'在你的工作代码的类型... – Habib
“的methodCall部分也是在这里抛出一个错误” - 所以有什么错误?相同的错误,或不同的? –
为什么你总是调用你的'Button'局部变量'buttonName'?当然'按钮'会更合适,以及避免这个问题。目前还不清楚编译器的错误信息在哪里不清楚......它告诉你*确切*出了什么问题。 –