在Page_Load方法中,我根據各種條件創建了幾個控件。我想用這些控件註冊服務器端代碼。但是,對於最後一部分,我需要將我的控件聲明爲服務器控件。這通常由runat = server完成,但我不知道如何在C#代碼中設置此屬性。 myControl.Attributes.Add(「runat」,「服務器」)沒有辦法。這一個工作,這意味着,當我點擊它的「測試」方法被調用:ASP:runat =用於動態控制的服務器
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="test">testtext</asp:LinkButton>
這一個不工作:
LinkButton lb = new LinkButton();
lb.ID = "LinkButton1";
lb.OnClientClick = "test";
lb.Text = "testtext";
lb.Attributes.Add("runat", "server");
我可以點擊它,而頁面加載,但測試方法不被調用。
任何提示?
是的,謝謝。這樣可行。現在,如果我添加一個常規按鈕( ),點擊我以前的linkbutton不會觸發任何事情(無頁面加載)。如果asp:Button不在頁面上,則所有內容都像魅力一樣。任何線索? –
Jan
當你說LinkButton沒有觸發任何東西時,是否意味着頁面仍然刷新(但LinkButton的事件處理程序沒有被調用),還是頁面根本不刷新?此外,您將LinkButton添加到頁面的方法是什麼? –
我在Page_Load中添加了LinkButton。 asp:Button位於.aspx文件中。是的,頁面根本不刷新。只要我刪除了asp:Button,一切都像以前一樣工作。 – Jan