2013-05-16 36 views
1

我有一個頁面,顯示用戶的字符。使用中繼器,我爲每個角色創建一個div,其中包含從我的數據庫中獲取的角色的不同信息。我希望能夠調用一個方法服務器端,當我點擊其中一個div時,使用我的characterId作爲參數。調用帶參數的服務器端方法點擊中繼器內部的div

我試過在div標籤上使用onclick。使用錨點。使用display:none按鈕並在點擊div時調用它,我嘗試了幾個奇怪的東西,這對我來說沒有多大意義。我正在擺脫想法。如果需要,我很好用JavaScript。

下面的代碼爲我的網頁

<asp:Repeater ID="VK_Character_CharacterNotSelected_rptCharacter" runat="server"> 
      <ItemTemplate> 
       <div class="divCharacterNotSelected_divCharacterPanel" 
        onclick='<%# "SelectCharacter_Click("+Eval("CharacterId")+")" %>' 
        runat="server" 
        id="VK_Character_CharacterNotSelected_divCharacter"> 

而且代碼隱藏

protected void SelectCharacter_Click(int characterId) 
{ 
    Stuff.... 
} 

謝謝你提供的任何幫助。

編輯:王之後回答A.Majid後,我可以打電話給我的參數服務器端方法,但我需要的onclick調用按鈕,當我點擊我的股利。

編輯2:我想過使用的ItemDataBound設置,但不知道如何設置一個div的onclick

編輯3:使用的LinkBut​​ton代替,但它與CSS我有聯繫混合起來。在這裏,圖像顯示:

編輯4:問題解決了。剛添加額外的CSS到我的頁面來修復鏈接。

回答

1

您可以使用LinkButton。它在瀏覽器中呈現爲鏈接,因此您可以在該鏈接中添加任何內容。

<asp:Repeater ID="VK_Character_CharacterNotSelected_rptCharacter" runat="server"> 
    <ItemTemplate> 
     <asp:LinkButton runat="server" ID="LinkButton1" 
      OnCommand="LinkButton1_Command" 
      CommandArgument='<%# Eval("CharacterId") %>'> 
      <div class="divCharacterNotSelected_divCharacterPanel">...</div> 
     </asp:LinkButton> 
    </ItemTemplate> 
</asp:Repeater> 

protected void LinkButton1_Command(object sender, CommandEventArgs e) 
{ 
    var characterId = e.CommandArgument; 
} 
+0

是的,這個工作非常完美!唯一的問題是它將我的div中的所有文本都轉換爲我給我的鏈接的CSS。 :s – snaplemouton

+0

這可能是CSS問題。你能告訴我一個截圖嗎? – Win

+0

用截圖編輯我的問題 – snaplemouton

1

兄弟,

,以實現自己的目標使用以下,定義按鈕作爲中繼器內執行以下操作:

<asp:Button Id="SelectCharacter" CommandName="SelectCharachter" runat="server" CommandArgument='<%# Eval("CharachterId") %>' /> 

代碼背後:

protected void VK_Character_CharacterNotSelected_rptCharacter_ItemCommand(object source, RepeaterCommandEventArgs e) 
     { 
     switch (e.CommandName) 
       { 
case "SelectCharachter": 
string _SelectedCharachter=e.CommandArgument.ToString(); 
break; 

} 
} 

所以你不需要只要處理的OnClick作爲其在礦井中繼器Repeater_Command事件會照顧它:

問候

+0

我想試試。它看起來像我所需要的。將告訴它是否工作 – snaplemouton

+0

它的按鈕很好。我只需要做一件事就是讓div onclick事件觸發onclick按鈕。問題是,因爲它在中繼器中,所以按鈕ID是奇怪而時髦的 – snaplemouton

相關問題