我正在使用一个数据列表,我在其中定义了一个itemtemplate。我在这个itemtemplate中使用asp:LinkButton。我在这个linkbutton标签中使用了OnClick =“methodname”。我在我的代码后面定义了相应的mehtodname,但是当页面加载时以及当我点击datalist中的任何项目时,我不断收到Java运行时错误。它说我没有用提到的名字定义的javascript函数函数。
Isnt asp:LinkButton是一个服务器控件。我想使用我的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;
答案 0 :(得分:0)
将C#代码/逻辑放在asp:LinkButton 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
}
确切的错误消息是什么?