2016-02-17 86 views
0

Im顯示一個行表,並且希望在每行旁邊都有一個刪除按鈕。該表使用循環生成。每個鏈接包含onserverclick="deleteScheduleField"。我需要做的是onserverclick="deleteScheduleField(rowid)",但這不能完成。當使用onserverclick動態超鏈接時,將變量傳遞給代碼隱藏

我看過的大多數指南都說使用ID字段,但由於這些行是動態的,我無法做到這一點。每當我嘗試使用動態標識時,我都會收到以下錯誤消息。如果我添加以下的HREF我得到的錯誤id="<%= scheduleField["id"] %>"

服務器標記不能包含<%...%>構造。

我試圖尋找解決方案,並且人們說使用<%# %>而不是<%= %>。我試圖做到這一點,並得到以下錯誤。

<a runat="server" href="#" onserverclick="deleteScheduleField" class="<%# scheduleField["id"] %>"> 

服務器標記的格式不正確。

爲了測試我的代碼背後的作品我創建了以下功能,如果我輸入一個非動態的ID,這完美的作品。

public void deleteScheduleField(object sender, EventArgs e) 
{ 
    HtmlAnchor link = (HtmlAnchor)sender; 
    Response.Write("DELETED " + link.ID); 
} 

如何調用此方法並將其傳遞給動態值?

+0

你能張貼給你的代碼「不正常」的錯誤?我很確定它可以很容易地糾正,只要你使用一些中繼器或其他數據綁定控件來做這件事 – Andrei

+0

我已經更新了該帖子的代碼行,它給了我不正確的錯誤。 –

回答

0

服務器變量沒有好,因爲你的報價形成:

"<%# scheduleField["id"] %>" 

應該是這樣的:

"<%# scheduleField['id'] %>" 

​​
+0

錯誤更改爲CS1012:當我將其更改爲單引號時,字符文字中的字符太多。 scheduleField是一個Dictionary對象。當我將html更改爲class ='<%#scheduleField [「id」]%>'時,它告訴我scheduleField不存在於當前上下文中。我知道它的確如此,因爲我可以從上面的行輸出值 –

+0

如果您嘗試'<%= #scheduleField [「id」]%>',該怎麼辦?我可能需要看到更多的代碼來進一步幫助。 – Blindsyde

+0

服務器標籤不能包含<% ... %>結構。 –

相關問題