2010-10-26 27 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事件。