1. 程式人生 > 實用技巧 >.NET ------- aspx 獲取aspx.cs 中資料(方法,repeater控制元件)

.NET ------- aspx 獲取aspx.cs 中資料(方法,repeater控制元件)

一、前臺獲取 後臺方法中資料

aspx.cs 頁面: 藉助方法獲取從資料庫中查詢到的值

    public int _iMustCount
    {
        get
        {
            string s = _bllSet.Get_Ex_InputData(31, base.EnterpriseGuid, 2);
            return Convert.ToInt32(s);
        }
    }

aspx 介面藉助 <%=_iMustCount%> 獲取後端方法中的值

    <td align="right
" width="280px">(每個待採購產品需詢價<%=_iMustCount%>家或<%=_iMustCount%>家以上供應商)</td>

如圖:

二、藉助repeater 控制元件獲取值

1、簡單使用

後臺:將從資料庫中獲取的集合賦值到 DataSurce 中,繫結到DataBind() 方法,

        List<ITEM.Model.qdMis4.BCaiGou> mList = bllbcaigou.GetListSelBCaiGou3(sFiles, base.EnterpriseGuid, strsql + "
order by iNumber"); //List<ITEM.Model.qdMis4.BCaiGou> mListX = mList.OrderBy(s => s.iNumber).ToList();//List排序示例 this.RepeaterBCaiGou.DataSource = mList; this.RepeaterBCaiGou.DataBind();

前臺: 藉助 repeater 控制元件和temtemplate繫結表裡的某列,將集合中的值迴圈取出

藉助<%# DataBinder.Eval(Container.DataItem, "資料庫欄位名") %> 將list 中的值取出來

    <asp:Repeater ID="RepeaterBCaiGou" runat="server">
    <ItemTemplate>
           <tr bgcolor="#FFFFFF" onMouseOver="this.bgColor='#EEEEEE'" onMouseOut="this.bgColor='#FFFFFF'" onclickX="javascript:document.getElementById('CheckData<%# Container.ItemIndex %>').checked=true;">
           <td align="center" nowrap="nowrap" ><font color="#014F8A"><input type="checkbox" id="CheckData<%# Container.ItemIndex %>"><input type="hidden" id="HidGuid" value='<%# DataBinder.Eval(Container.DataItem,"CaiGouGuid") %>' /></font></td>     
            <td align="center" ><%# DataBinder.Eval(Container.DataItem, "iNumber") %></td><%--自增長序號--%>
           <td align="center" ><%# DataBinder.Eval(Container.DataItem,"CaiGouDanMark") %>&nbsp;</td><%--採購單編碼--%>
           <td align="center" ><%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"CaiGou_Date")).ToString ("yyyy")=="1900"?"&nbsp;":Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"CaiGou_Date")).ToString ("yyyy-MM-dd") %></td><%--採購單日期--%>
           <td align="center" ><%# DataBinder.Eval(Container.DataItem,"GoodsMark") %>&nbsp;</td><%--產品編碼--%>
           <td align="center" ><%# DataBinder.Eval(Container.DataItem,"GoodsName") %>&nbsp;</td><%--產品名稱--%>
           <td align="center" ><%# DataBinder.Eval(Container.DataItem,"GoodsFamat") %>&nbsp;</td><%--規格型號--%>

           <td align="center" ><%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"CaiGouJiaoFuDate")).ToString ("yyyy")=="1900"?"&nbsp;":Convert.ToDateTime(DataBinder.Eval(Container.DataItem,"CaiGouJiaoFuDate")).ToString ("yyyy-MM-dd") %></td><%--最遲交付時間--%>

   

           </tr>
    </ItemTemplate>
    </asp:Repeater>

2、Repeater 控制元件迴圈巢狀Repeater

本質就是一個二層迴圈,藉助OnItemDataBound 屬性巢狀另一個控制元件,通過HiddenField 控制元件獲取關鍵字

如:訂單中有訂單簡介和商品列表,商品表中有訂單關鍵字是個一對多關係

藉助Repeater 實現

第一層迴圈和之前一樣,在頁面載入的時候觸發,第二層在第一層觸發的時候觸發