服务器控制onclick错误

时间:2010-10-26 21:13:58

标签: c# javascript asp.net runtime-error servercontrols

我正在使用一个数据列表,我在其中定义了一个itemtemplate。我在这个itemtemplate中使用asp:LinkBut​​ton。我在这个linkbutton标签中使用了OnClick =“methodname”。我在我的代码后面定义了相应的mehtodname,但是当页面加载时以及当我点击datalist中的任何项目时,我不断收到Java运行时错误。它说我没有用提到的名字定义的javascript函数函数。

Isnt asp:LinkBut​​ton是一个服务器控件。我想使用我的c#代码而不是javascript。我该怎么办?

<asp:DataList ID="DLID" RepeatColumns="5" RepeatDirection="Horizontal" runat="server"&GT;

<ItemTemplate&GT;
                        <div class="home"&GT;
                    <div class="homeblock"&GT; </div&GT;
                              <div class="homeitem"&GT;
                                                <ul&GT; <li&GT; <span style="font-size:small;"&GT;
                                                <asp:LinkButton ID="TopItem" runat="server" OnClick="Item_OnClick"&GT; <%# Container.DataItem %&GT; </asp:LinkButton&GT;
                                                </span&GT; </li&GT; </ul&GT;
                             </div&GT;
                     </div&GT;
                </ItemTemplate&GT;
     </asp:DataList&GT;

2 个答案:

答案 0 :(得分:0)

将C#代码/逻辑放在asp:LinkBut​​ton Click事件中。

答案 1 :(得分:0)

对我来说效果很好。使用您的标记代码减去类名。这是我使用的代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        string[] ds = new string[] { "a", "b", "c", "d", "e", "f", "g" };
        DLID.DataSource = ds;
        DLID.DataBind();
    }
}

protected void Item_OnClick(object sender, EventArgs e)
{
    //do stuff
}

确切的错误消息是什么?