2010-10-26 69 views
0

我正在使用其中已定义itemtemplate的数据列表。我在这个项目模板中使用asp:LinkBut​​ton。我在这个linkbutton标签中使用了一个OnClick =“methodname”。我在我的代码后面定义了相应的mehtodname,但是当页面加载并单击数据列表中的任何项时,我一直收到Java运行时错误。它说,我没有提到的名称定义的JavaScript函数功能。服务器控件onclick错误

Isnt asp:LinkBut​​ton服务器控件。我想用我的c#代码而不是javascript。我如何继续?

<asp:DataList ID="DLID" RepeatColumns="5" RepeatDirection="Horizontal" runat="server">

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

+0

发布更多验证码。还发布呈现的输出。 – lincolnk 2010-10-26 21:23:11

+0

在OnClick和OnClientClick之间混合?我们确实需要更多的代码。 – 2010-10-26 21:26:29

+0

更新问题代码 – zack 2010-10-26 23:43:41

回答

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 
} 

什么是确切的错误信息?

+0

现在可以使用。感谢您的简化代码!另外我需要将一个字符串绑定到一个asp:label控件。我需要将它绑定到用户从“TopItem”链接按钮控件中选择的字符串。我怎样才能做到这一点? 'asp:Label ID =“Item”runat =“server”Text =“<%#Container.DataItem%>”'>'我可以将此asp:label控件绑定到字符串吗?或者我必须使用不同的控制来实现这一目标? – zack 2010-10-27 03:40:29

+0

我刚刚在我的代码中解决了这个问题,将标签的文本属性设置为我在onclick事件中提取的字符串值。不管怎么说,多谢拉! – zack 2010-10-27 03:57:59

0

只要把ASP的C#代码/逻辑:LinkBut​​ton的Click事件。