2013-08-31 158 views
1

我有銀行賬號和信用卡分期付款列表中的ASPX C#頁面在一個頁面ASP淨中繼單選按鈕組的名稱,並得到單選按鈕值

如果用戶希望銀行轉帳選擇銀行帳戶否則,如果用戶

想要支付信用卡分期付款。

問題是單選按鈕組的名稱。我沒有將單選按鈕分組,也沒有得到所選的單選按鈕值。

這是我的代碼。

這是銀行帳戶列表

<asp:Repeater ID="RptBankalar" runat="server"> 
         <ItemTemplate> 
          <div class="BankaListBox"> 
           <table width="100%" height="100" border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
             <td width="200" align="center" valign="middle"> 
              <img alt="<%#Eval("BankName").ToString() %>" src="../../Files/<%#Eval("Logo").ToString() %>" /></td> 
             <td> 
              <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
               <tr> 
                <td width="120" height="22"><strong>Account Owner</strong></td> 
                <td width="15"><strong>:</strong></td> 
                <td><%#Eval("AcOwner").ToString() %></td> 
               </tr> 
               <tr> 
                <td width="120" height="22"><strong>Branch No</strong></td> 
                <td width="15"><strong>:</strong></td> 
                <td><%#Eval("Branch").ToString() %></td> 
               </tr> 
               <tr> 
                <td width="120" height="22"><strong>Account Number</strong></td> 
                <td width="15"><strong>:</strong></td> 
                <td><%#Eval("AccountNum").ToString() %></td> 
               </tr> 
               <tr> 
                <td width="120" height="22"><strong>IBAN</strong></td> 
                <td width="15"><strong>:</strong></td> 
                <td><%#Eval("Iban").ToString() %></td> 
               </tr> 
              </table> 
             </td> 
             <td width="100" align="center" valign="middle"> 
              <asp:RadioButton ID="RadioBtn" Text='<%#Eval("id").ToString() %>' runat="server" /> 
             </td> 
            </tr> 
           </table> 
          </div> 
         </ItemTemplate> 
        </asp:Repeater> 

同一頁信用卡分期付款清單

<asp:Repeater ID="RptTaksitList" OnItemDataBound="RptTaksitList_ItemDataBound" runat="server"> 
              <ItemTemplate> 
               <tr runat="server" id="arka_tr"> 
                <td align="center" height="22" width="40" runat="server" id="td1"> 
                 <b style="display: none; visibility: hidden"> 
                  <asp:Literal ID="lt_id" Text='<%#Eval("BankaID").ToString() %>' runat="server"></asp:Literal> 
                 </b> 
                 <asp:Literal ID="lt_taksit_sayisi" Text='<%#Eval("TaksitSayisi").ToString() %>' runat="server"></asp:Literal></td> 
                <td width="150" runat="server" id="td2"> 
                 <asp:Literal ID="LblSepetTotal" runat="server" Text='<%#Session["SepetUrunToplami"] %>'></asp:Literal></td> 
                <td runat="server" id="td3"><b style="display: none; visibility: hidden"> 
                 <asp:Literal ID="lt_komisyon_orani" Text='<%#Eval("KomisyonOrani").ToString() %>' runat="server"></asp:Literal> 
                </b> 
                 <asp:Literal ID="lt_toplam_tutar" runat="server" Text=''></asp:Literal> 
                 <b style="display: none; visibility: hidden"> 
                  <asp:Literal ID="lt_alt_limit" Text='<%#Eval("AltLimit").ToString() %>' runat="server"></asp:Literal> 
                 </b> 
                </td> 
               </tr> 
              </ItemTemplate> 
             </asp:Repeater> 

我怎樣才能獲得的價值和分組此單選按鈕。

通常我在經典的asp中做過,但是我改變了我的編碼語言。

請注意。

感謝您的幫助。

+0

你可以使用jQuery組單選按鈕在中繼器。 – afzalulh

回答

1

以下是我的操作方法。

在我宣佈的單選按鈕爲服務端的HTML控件的標記:

<input id="rbMyRadio" type="radio"runat="server" class="myClass" /> 

並在代碼訪問值:

foreach (RepeaterItem item in RptBankalar.Items) 
{ 
    if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem) 
    { 
     HtmlInputRadioButton rbMyRadio = (HtmlInputRadioButton)item.FindControl("rbMyRadio"); 
     if (rbMyRadio != null && rbMyRadio.Checked) 
     { 
      //Do tasks 
     } 
    } 
} 

分組在頁頭的使用jQuery做:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('input[type=radio]').click(function() { 
      var cname = $(this).attr('class'); 

      $('.' + cname).each(function() { 
       $(this).prop('checked', false); 
      }); 

      $(this).prop('checked', true); 
     }); 
    }); 
</script> 

並在頭部引用jquery:

<script src="Scripts/jquery-1.8.2.js"></script> 
+0

單選按鈕在中繼器中不起作用。 –

+0

你是否像這個例子更改了asp單選按鈕標記,添加jquery?什麼不起作用?分組無法正常工作,或者無法獲得單選按鈕的價值? – afzalulh

+0

它適合我。非常感謝! –

2

我從來沒有幫助堆棧。所以我會在社區幫助過很多次後第一次做出貢獻。

我喜歡你。我有一個更簡單的解決方案。

用一些元素(DIV)包圍你的單選按鈕,你可能只想在jQuery中選擇所有的收音機。

編輯:當我改變這種方式aspnet wasnt持續viewstate。現在,它工作得很好:)

$(document).ready(function() { 
    $(".radiofix").each(function() { 
     var objRadiosContainer = $(this); 
     objRadiosContainer.find("input[type=radio]").each(function() { 
      var objRadio = $(this); 
      objRadio.change(function() { 
       if(objRadio.get(0).checked) 
       { 
        objRadiosContainer.find("input[type=radio]").each(function() { 
         if($(this).get(0).id != objRadio.get(0).id) 
         { 
          $(this).get(0).checked = false; 
         } 
        }); 
       } 
      }); 
     }); 
    }); 
}); 

讓我們在HTML文件(或aspx文件)一看:

<asp:Repeater ID="questions" runat="server"> 
     <ItemTemplate> 
      <h3>%# getQuestionNumber() %>) <%# Eval("questionDescription").ToString() %></h3> 
      <div class="nameOfTheClass"> 
       <asp:Repeater ID="answers" runat="server"> 
        <ItemTemplate> 
         <asp:RadioButton ID="radioId" runat="server" /> 
        </ItemTemplate> 
       </asp:Repeater> 
      </div> 
     </ItemTemplate> 

這你會工作得很好。只需創建一些JavaScript文件(.js)並調用它,修復TheRadios.js併爲您喜歡的「nameOfTheClass」選擇一個名稱。

重要提示:我沒有測試更新面板中的代碼。我建議你這樣做。

0

很晚的答案,但你也可以嘗試在轉發添加單選按鈕這樣的:

 <asp:TemplateColumn> 
      <ItemTemplate> 
       <div style="text-align: center"> 
        <input type="radio" id="rptMyRadio" runat="server" /> 
       </div> 
      </ItemTemplate> 
     </asp:TemplateColumn> 

然後在腳本塊添加:

 $('input[type=radio]').click(function() { 
      $('input[type=radio]').removeAttr("checked"); 
      $(this).prop('checked', true); 
     }); 
+0

我認爲這是有道理的。我試過這個簡單的Jquery代碼,它正常工作。 –