2010-10-26 4 views
0

Я использую datalist, внутри которого я определил itemtemplate. Я использую asp: LinkButton внутри этой itemtemplate. Я использовал OnClick = "methodname" в этом теге linkbutton. У меня есть соответствующее mehtodname, определенное в моем коде, но я продолжаю получать ошибку времени выполнения Java при загрузке страницы и когда я нажимаю на любой из элементов в datalist. В нем говорится, что у меня нет функции функции javascript, определенной с указанным именем.server control onclick error

Is not asp: LinkButton - серверный контроль. Я хочу использовать код 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

+0

Перемешать между OnClick и OnClientClick? Нам действительно нужно больше кода. –

+0

вопрос об обновлении с кодом – zack

ответ

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 к строке? Или мне нужно использовать другой контроль для достижения этого? – zack

+0

Я просто решил это в своем коде, установив свойство текста метки в мое строковое значение, которое я извлекаю в событии onclick. В любом случае спасибо! – zack

0

Просто поместите C# код/​​логики в аспида: LinkButton Нажмите событие.