我有一個LinkButton控件,我需要添加一個c#方法。目前,當我使用解析控制並將控件添加到頁面時,它會將調用更改爲JavaScript,並且我得到未定義的內容。我想一個解決這個問題的方法是定義一個javascript函數,它可以從後面的代碼調用c#方法,但我無法弄清楚如何執行此操作。什麼是從Javascript調用C#方法的最簡單方法
特別當單擊鏈接按鈕時我需要javascript將鏈接的ID傳遞給C#方法。
我已經試過這樣:
foreach (Control Control in myctrl.Controls)
{
if (Control is LinkButton)
{
LinkButton lb = (LinkButton)Control;
lb.Click += LinkButton_Click;
}
Panel1.Controls.Add(myctrl);
}
public void LinkButton_Click(Object sender, EventArgs e)
{
BREAKPOINTHERE> Console.Write(e.ToString());
}
當點擊它永遠不會觸發。這裏是生成的代碼:
<a id="dnn_ctr954_ViewPromotions_LinkButton2" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$LinkButton2", "", true, "", "", false, true))">Get your Free 2</a>
現在
,如果我把這個在我的aspx頁面,它工作正常:
<asp:LinkButton ID="test" OnClick="LinkButton_Click" runat="server">mybutton</asp:LinkButton>
我得到這個工作得很好:
<a id="dnn_ctr954_ViewPromotions_test" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("dnn$ctr954$ViewPromotions$test", "", true, "", "", false, true))">mybutton</a>
我對C#一無所知,所以我不會添加這個答案。但是,你不會用ajax做到這一點嗎?調用C#頁面,當頁面加載時,它可以執行該方法。 – 2010-02-18 17:08:12
是的,我現在正在嘗試。 – 2010-02-18 17:12:05