我在後端創建了很多按鈕,所以我認爲將它抽象出來以減少代碼行是明智的。當我嘗試這樣做時,它給了我一個錯誤,指出「在本範圍內不能聲明名爲」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'?當然'按鈕'會更合適,以及避免這個問題。目前還不清楚編譯器的錯誤信息在哪裏不清楚......它告訴你*確切*出了什麼問題。 –