我有一个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