.net Repeater知识知多少
(一).net中使用Repeater綁定數據,并使用repeater循環出的兩個值,賦給repeater中的div的value值。詳細如下:
前端.net代碼:
<div class="wytz_xmlb_nr clear"><asp:Repeater ID="RpBidsList" runat="server"><ItemTemplate><div class="xmlb_list_tiao"><span class="list_tiao_pic"><a href="#"><img src="../images/index_pic_74.jpg" width="77" height="77" /></a></span><div class="list_tiao_pic_nr"><span class="list_tiao_pic_nr_bt"><%#Eval("SysBid_Title")%></span><div class="list_tiao_pic_nr_jies"><div id='p<%#Eval("SysBid_ID")%>' class="easyui-progressbar" style="width:153px; height:10px;"></div>當前可投金額:<%#qt.hfd_p2p.Common.Utils.ChangedStr((Decimal.Parse(Eval("SysBid_Floor").ToString())-Decimal.Parse(Eval("SysBid_Fund").ToString())).ToString())%>元</div><input type="hidden" value="<%#Eval("SysBid_Fund")%>" id='fund<%#Eval("SysBid_ID")%>' /><input type="hidden" value="<%#Eval("SysBid_Floor")%>" id='floor<%#Eval("SysBid_ID")%>' /></div><div class="list_tiao_bqze"><span class="list_tiao_bqze_bt">本期借款總額</span><span class="list_tiao_bqze_nr"><%#qt.hfd_p2p.Common.Utils.ChangedStr(Eval("SysBid_Floor").ToString())%>元</span></div><div class="list_tiao_nhll"><span class="list_tiao_bqze_bt">年化利率</span><span class="list_tiao_bqze_nr"><%#Eval("SysBid_Ratio")%>%</span></div><div class="list_tiao_tzzq"><span class="list_tiao_bqze_bt">投資周期</span><span class="list_tiao_bqze_nr"><%#Eval("SysBid_CheckCycle")%><%#GetUnit((int)Eval("SysBid_CheckCycleUnit"))%></span></div><div class="list_tiao_touzi"><a href="InvestDetail.aspx?SysBid_ID=<%#Eval("SysBid_ID")%>">馬上投資</a></div></div></ItemTemplate></asp:Repeater><div class="fenye"><div id="PageContent" runat="server"></div></div></div>前端js代碼:循環每個Itemtemplate中的id為found和floor的值,并計算出數組復制給id為p的div
window.onload = function () {var values;$("div .xmlb_list_tiao").each(function (index, element) {var fund = $(element).find("input[type='hidden']").eq(0).val();var floor = $(element).find("input[type='hidden']").eq(1).val();var bidProgress = fund / floor * 100.00;bidProgress = Math.round(parseFloat(bidProgress) * 100) / 100;$(element).find("div .easyui-progressbar.progressbar").progressbar({ value: bidProgress });//alert(bidProgress); });}注意javasript中each的用法~
展示效果如下圖,計算出每條數據的進度條的值
(二)Repeater中全選功能的實現。效果圖如下:
如上圖所示:點擊全選按鈕列表中的checkbox全部選中,全選變為取消。點擊取消按鈕,列表中的復選框則均不選擇。
首先,前端aspx頁面代碼:
全選按鈕:
<li><a class="all" href="javascript:;" οnclick="checkAll(this);"><i></i><span>全選</span></a></li>列表復選框:
<td align="center"><asp:CheckBox ID="chkId" CssClass="checkall" runat="server" style="vertical-align:middle;" /><asp:HiddenField ID="hidId" Value='<%#Eval("SysBid_ID")%>' runat="server" /></td>使用javascript方法實現全選方法:
//全選取消按鈕函數 function checkAll(chkobj) {if ($(chkobj).text() == "全選") {$(chkobj).children("span").text("取消");$(".checkall input:enabled").prop("checked", true);} else {$(chkobj).children("span").text("全選");$(".checkall input:enabled").prop("checked", false);} }?
(三)Repeater中刪除列表數據一條或多條(批量與否)
前端aspx代碼:
刪除按鈕
<li><asp:LinkButton ID="btnDelete" runat="server" CssClass="del" OnClientClick="return ExePostBack('btnDelete');" οnclick="btnDelete_Click"><i></i><span>刪除</span></asp:LinkButton></li>選擇要刪除的數據,一條或多條:
<td align="center"><asp:CheckBox ID="chkId" CssClass="checkall" runat="server" style="vertical-align:middle;" /><asp:HiddenField ID="hidId" Value='<%#Eval("SysBid_ID")%>' runat="server" /> </td>后臺aspx.cs方法
protected void btnDelete_Click ( object sender, EventArgs e ){int sucCount = 0;int errorCount = 0;BLL.SystemBids bll = new BLL.SystemBids( );for ( int i = 0 ; i < rptList.Items.Count ; i++ ){int id = Convert.ToInt32( ( ( HiddenField )rptList.Items[ i ].FindControl( "hidId" ) ).Value );CheckBox cb = ( CheckBox )rptList.Items[ i ].FindControl( "chkId" );if ( cb.Checked ){if ( bll.Delete( id ) ){sucCount += 1;}else{errorCount += 1;}}}AddAdminLog( DTEnums.ActionEnum.Delete.ToString( ), "刪除系統標的" + sucCount + "條,失敗" + errorCount + "條" ); //記錄日志JscriptMsg( "刪除成功" + sucCount + "條,失敗" + errorCount + "條!",Utils.CombUrlTxt( "bids_list.aspx", "bidcate_id={0}&keywords={1}", this.bidcate_id.ToString( ), this.keywords ), "Success" );}(四)1.Repeater數據列表中最后一列為操作,操作顯示的動作可以是修改或已修改。2.根據選中行的id刪除此行數據
1.修改和已修改均可以顯示,其visible可設定為某一個狀態值
例如:aspx前端代碼:
<td width="10%" align="center"><asp:LinkButton ID="lbaward" runat="server" CommandName="Updateaward" CommandArgument='<%#Eval("id")%>' Visible='<%#int.Parse(Eval("is_lock").ToString())==0? true : false %>'>抽獎</asp:LinkButton><asp:LinkButton ID="lbed" runat="server" Visible='<%#int.Parse(Eval("is_lock").ToString()) == 1 ? true : false %>' >已中獎</asp:LinkButton> </td>2.根據選中行的id刪除此行的數據
前端aspx代碼如上1: 添加CommandName,添加CommandArgument的值
protected void rptList_ItemCommand(object source, RepeaterCommandEventArgs e){if (e.CommandName == "Updateaward"){//當前選中行的idint id = int.Parse(e.CommandArgument.ToString());Model.navigation nmodel = nbll.GetModel(id);if (nbll.UpdateField(id, "is_lock=1 , remark='中獎時間為:" + DateTime.Now.ToString() + "'")){JscriptMsg("設置中獎成功!", Request.Url.AbsoluteUri.ToString(), "success");}else{JscriptMsg("設置中獎失敗!", Request.Url.AbsoluteUri.ToString(), "fail");}}}
轉載于:https://www.cnblogs.com/Wbely/p/3923772.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的.net Repeater知识知多少的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# 使用int.TryParse,Co
- 下一篇: Ant 学习