• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    ASP.NET筆記之 ListView 與 DropDownList的使用

    來源:懂視網 責編:小采 時間:2020-11-27 22:41:17
    文檔

    ASP.NET筆記之 ListView 與 DropDownList的使用

    ASP.NET筆記之 ListView 與 DropDownList的使用:1、Repeater用來顯示數據、ListView用來操作數據 InsertItemTemplate和updateItemTemplate**Eval(顯示數據)和Bind(雙向綁定:不僅是需要展現,更需要把數據綁定到數據庫中) ItemPlaceholderID:占位符,決定占位,把頭部(之上)和尾部(之
    推薦度:
    導讀ASP.NET筆記之 ListView 與 DropDownList的使用:1、Repeater用來顯示數據、ListView用來操作數據 InsertItemTemplate和updateItemTemplate**Eval(顯示數據)和Bind(雙向綁定:不僅是需要展現,更需要把數據綁定到數據庫中) ItemPlaceholderID:占位符,決定占位,把頭部(之上)和尾部(之

    1、Repeater用來顯示數據、ListView用來操作數據

    InsertItemTemplate和updateItemTemplate
    **Eval(顯示數據)和Bind(雙向綁定:不僅是需要展現,更需要把數據綁定到數據庫中)

    ItemPlaceholderID:占位符,決定占位,把頭部(之上)和尾部(之下)分隔開
    ItemTemplate:展示功能

    自動生成的ListView需要調整的地方
    (1、生成的樣式要提到style中,不要用內聯的方式
    (2、ItemTemplate里面一半沒必要用<asp:Label>展示只讀數據,所以可以直接輸出
    <%#Eval("id")%>
    (3、LayoutTemplate中必須有一個ItempPlaceholderID 的服務端控件
    (4、LayoutTemplate中表頭的位置要漢化,所有template中的不需顯示的字段需刪除或更改位置

    2、事件
    流程同Repeater:

    //首先判斷數據行的類型
    e.Item.ItemType==ListViewItemType.DataItem

    //把e.Item轉化成ListViewDataItem才能拿到DataItem
    ListViewDataItem lvDataItem=(ListViewDataItem)e.Item;
    DataRowView rowView=(DataRowView)lvDataItem.DataItem;
    //獲得某一列
    var xRow=(...DAL.DataSet1.T_UserRow)rowVIew.Row;
    //獲得某一列的值
    xRow.Age、xRow.sName...etc.

    3、具體注意
    (1、設定相應的按鈕、控件、Validator為童顏的ValidationGroup,
    防止不同模板中的Validator互相干擾,
    (2、將Cancel按鈕中的CausesValidation="false"使得插入修改數據時
    可以取消操作,這樣即使在同一個分組內也可以不互相影響

    4、給InsertItemplate增加默認值
    //在ItemCreate屬性中進入函數
    if(e.Item.ItemType==ListViewItemType.InsertItem){
    TextBox AgeText=(TextBox)e.Item.FindControl("AgeID");
    AgeText.Text="20";
    }

    5、主鍵Guid:插入到數據庫

    (1、ListView的ItemInserting屬性:
    //要插入到數據庫之前的數據的鍵值對
    e.values["id"]=Guid.NewGuid();

    (2、ListView的ItemUpdateing屬性:
    e.ItemIdex
    e.OldValues//更新前的值
    e.NewValues["Age"]//更新后的值
    e.Cancel=true;//取消非法數據插入

    ObjectDataSource
    綁定id為guid 類型的時候

     6、DropDrownList


    (1、
    //包含在DropDrownList中的項
    <asp:ListItem value="man">男</asp:ListItem>

    (2、
    **后臺代碼:更新的時候
    //找到ListView
    //ListView1.Item[e.ItemIndex].FindControl("ID");
    //它是一個DropViewList
    DropDrownList d=(DropDrownList)listView1.Item[e.ItemIndex].FindControl("ID");
    //賦值
    e.NewValues=["字段"]=d.SelectedValue;

    (3、
    **后臺代碼:實現編輯時顯示原先的數據
    //有數據行
    if(e.Item.ItemType==ListVIewDataList.DataItem){
    //取控件
    DropDownList d=(DropDownLIst)e.Item.FindControl("ID");

    if(d!=null){
    //取到這一行綁定的數據
    ListViewDataItem lv=(ListViewDataItem)e.Item;
    DataRowItem row=(dataRowItem)lv.DataItem;
    //如果這一行有數據
    if(row!=null){
    //讀取數據庫該Row的值
    var myRow=(項目名稱.DAL.DataSetUsers.T_Users)row.Row;

    //將讀取打偶的Row值設置為下拉菜單中的選項
    d.SelectedValue=myRow.字段;
    }
    }
    }

    (4、 可以看不可以用 Enabled="false

     

    友情鏈接管理:

    效果:

    存在問題總結:

    (1、警告 1 元素“ListView”不是已知元素。原因可能是網站中存在編譯錯誤,或者缺少 web.config 文件。 E:\code\Projects\WebSite_zzl01\友情鏈接\LinkUrl_Admin.aspx 39 10 友情鏈接

    (2、onLinkTypeChange(this,'" + logoID.ClientID + "') 中傳給前臺javascript的ID不是客戶端的ID,會導致顯示和隱藏的功能無法實現,所以增加一個myID

    :   logoID.Attributes["myid"] = logoID.ClientID; 來傳遞參數

    LinkUrl_Admin.aspx.cs
    代碼如下:
    using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Web;
     using System.Web.UI;
     using System.Web.UI.WebControls;
     using System.Data;

     namespace 友情鏈接
     {
         public partial class LinkUrl_Admin : System.Web.UI.Page
         {
             protected void Page_Load(object sender, EventArgs e)
             {

             }

             protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
             {
                 //ListView1的屬性ItemDataBound數據綁定每一行
                 //顯示數據
                 if (e.Item.ItemType == ListViewItemType.DataItem) {
                     DropDownList ddlsLinkType = (DropDownList)e.Item.FindControl("ddlsLinkType");
                     ListViewDataItem dataitem = (ListViewDataItem)e.Item;
                     DataRowView myrow = (DataRowView)dataitem.DataItem;

                     if (ddlsLinkType != null && myrow != null) {
                         var sUrl = (友情鏈接.ADL.DataSet1.T_LinksRow)myrow.Row;
                         ddlsLinkType.SelectedValue = sUrl.sLinkType;
                     }
                 }

             }

             protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e)
             {
                 //插入數據
                 DropDownList ddlsLinkType = (DropDownList)e.Item.FindControl("ddlsLinkType");
                 e.Values["sLinkType"] = ddlsLinkType.SelectedValue;   
             }

             protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
             {
                 //更新數據
                 DropDownList ddlsLinkType = (DropDownList)ListView1.Items[e.ItemIndex].FindControl("ddlsLinkType");
                 e.NewValues["sLinkType"] = ddlsLinkType.SelectedValue;
             }

             protected void ListView1_ItemCreated(object sender, ListViewItemEventArgs e)
             {
                 if (e.Item.ItemType == ListViewItemType.DataItem || e.Item.ItemType ==
                     ListViewItemType.InsertItem) {
                    DropDownList ddlsLinkType = (DropDownList)e.Item.FindControl("ddlsLinkType");
                    TextBox logoID = (TextBox)e.Item.FindControl("LogoUrlTextBox");
                     if (ddlsLinkType != null&&logoID!=null) {
                         //onchange是html中select的屬性
                         //onLinkTypeChange是后臺代碼調用前臺javascript中自定義的jQuery函數

                         logoID.Attributes["myid"] = logoID.ClientID;

                         ddlsLinkType.Attributes["onchange"] = "onLinkTypeChange(this,'" + logoID.ClientID + "')";
                         if(ddlsLinkType.SelectedValue=="Text"){
                             logoID.Style["display"] = "none";
                         }
                     }
                 }
             }
         }
     }

    LinkUrl_Admin.aspx
    代碼如下:
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="LinkUrl_Admin.aspx.cs" Inherits="友情鏈接.LinkUrl_Admin" %>

     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

     <html xmlns="http://www.w3.org/1999/xhtml">
     <head runat="server">
         <title>友情鏈接管理頁面</title>
         <script src="Scripts/jquery-1.4.2.js" type="text/javascript"></script>
         <script type="text/javascript">
             function onLinkTypeChange(urlType, logoID) {
                 if ($(urlType).val() == "Text") {
                     $("input:text[myid=" + logoID + "]").hide();
                     //$("#" + logoID).hide(); //傳到到客戶端不是客戶端的id
                     //$("#ListView1_LogoURLTextBox").hide();//真正的id
                 }
                 else {
                     $("input:text[myid=" + logoID + "]").show();
                     //$("#" + logoID).show();
                 }
             }
         </script>
     </head>
     <body>
         <form id="form1" runat="server">
         <div>

             <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
                 DeleteMethod="Delete" InsertMethod="Insert"
                 OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
                 TypeName="友情鏈接.ADL.DataSet1TableAdapters.T_LinksTableAdapter"
                 UpdateMethod="Update">
                 <DeleteParameters>
                     <asp:Parameter Name="Original_ID" Type="Int64" />
                 </DeleteParameters>
                 <InsertParameters>
                     <asp:Parameter Name="SeoNo" Type="Int32" />
                     <asp:Parameter Name="SiteName" Type="String" />
                     <asp:Parameter Name="sLinkType" Type="String" />
                     <asp:Parameter Name="SiteUrl" Type="String" />
                     <asp:Parameter Name="LogoUrl" Type="String" />
                 </InsertParameters>
                 <UpdateParameters>
                     <asp:Parameter Name="SeoNo" Type="Int32" />
                     <asp:Parameter Name="SiteName" Type="String" />
                     <asp:Parameter Name="sLinkType" Type="String" />
                     <asp:Parameter Name="SiteUrl" Type="String" />
                     <asp:Parameter Name="LogoUrl" Type="String" />
                     <asp:Parameter Name="Original_ID" Type="Int64" />
                 </UpdateParameters>
             </asp:ObjectDataSource>

         </div>
         <asp:ListView ID="ListView1" runat="server" DataKeyNames="ID"
             DataSourceID="ObjectDataSource1" InsertItemPosition="LastItem"
             onitemdatabound="ListView1_ItemDataBound"
             oniteminserting="ListView1_ItemInserting"
             onitemupdating="ListView1_ItemUpdating"
             onitemcreated="ListView1_ItemCreated">

             <EditItemTemplate>
                 <tr style="background-color: #999999;">
                     <td>
                         <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" />
                         <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" />
                     </td>
                     <td>
                         <asp:TextBox ID="SeoNoTextBox" runat="server" Text='<%# Bind("SeoNo") %>' />
                     </td>
                     <td>
                         <asp:TextBox ID="SiteNameTextBox" runat="server"
                             Text='<%# Bind("SiteName") %>' />
                     </td>
                     <td>
                        <asp:DropDownList ID="ddlsLinkType" runat="server">
                          <asp:ListItem Value="Text">文本</asp:ListItem>
                          <asp:ListItem Value="Pic">圖片</asp:ListItem>
                        </asp:DropDownList>
                     </td>
                     <td>
                         <asp:TextBox ID="SiteUrlTextBox" runat="server" Text='<%# Bind("SiteUrl") %>' />
                     </td>
                     <td>
                         <asp:TextBox ID="LogoUrlTextBox" runat="server" Text='<%# Bind("LogoUrl") %>' />
                     </td>
                 </tr>
             </EditItemTemplate>
             <EmptyDataTemplate>
                 <table runat="server"
                     style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;">
                     <tr>
                         <td>
                             未返回數據。</td>
                     </tr>
                 </table>
             </EmptyDataTemplate>
             <InsertItemTemplate>
                 <tr style="">
                     <td>
                         <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" ValidationGroup="Insert" />
                         <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" />
                     </td>
                     <td>
                         <asp:TextBox ID="SeoNoTextBox" ValidationGroup="Insert" runat="server" Text='<%# Bind("SeoNo") %>' />
                         <asp:RequiredFieldValidator ValidationGroup="Insert" ID="RequiredFieldValidator1" runat="server" ErrorMessage="*" ControlToValidate="SeoNoTextBox">
                         </asp:RequiredFieldValidator>
                         <asp:CompareValidator ValidationGroup="Insert" ID="CompareValidator1" runat="server" ErrorMessage="序號必須為整數" ControlToValidate="SeoNoTextBox" Operator="DataTypeCheck" Type="Integer">
                         </asp:CompareValidator>
                     </td>
                     <td>
                         <asp:TextBox ID="SiteNameTextBox" ValidationGroup="Insert" runat="server" MaxLength="50"
                             Text='<%# Bind("SiteName") %>' />
                         <asp:RequiredFieldValidator ValidationGroup="Insert" ID="RequiredFieldValidator2" runat="server" ErrorMessage="*" ControlToValidate="SiteNameTextBox">
                         </asp:RequiredFieldValidator>
                     </td>
                     <td>
                        <asp:DropDownList ID="ddlsLinkType" ValidationGroup="Insert" runat="server" >
                          <asp:ListItem Value="Text">文本</asp:ListItem>
                          <asp:ListItem Value="Pic">圖片</asp:ListItem>
                        </asp:DropDownList>
                     </td>
                     <td>
                         <asp:TextBox ID="SiteUrlTextBox" ValidationGroup="Insert" runat="server" Text='<%# Bind("SiteUrl") %>' />
                         <asp:RequiredFieldValidator ValidationGroup="Insert" ID="RequiredFieldValidator3" runat="server" ErrorMessage="*" ControlToValidate="SiteUrlTextBox">
                         </asp:RequiredFieldValidator>
                     </td>
                     <td>
                         <asp:TextBox ID="LogoUrlTextBox" ValidationGroup="Insert" runat="server" Text='<%# Bind("LogoUrl") %>' />
                     </td>
                 </tr>
             </InsertItemTemplate>
             <ItemTemplate>
                 <tr style="background-color: #E0FFFF;color: #333333;">
                     <td>
                         <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="刪除" />
                         <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="編輯" />
                     </td>
                     <td>
                         <asp:Label ID="SeoNoLabel" runat="server" Text='<%# Eval("SeoNo") %>' />
                     </td>
                     <td>
                         <asp:Label ID="SiteNameLabel" runat="server" Text='<%# Eval("SiteName") %>' />
                     </td>
                     <td>
                        <asp:DropDownList ID="ddlsLinkType" runat="server" Enabled="false">
                          <asp:ListItem Value="Text">文本</asp:ListItem>
                          <asp:ListItem Value="Pic">圖片</asp:ListItem>
                        </asp:DropDownList>
                     </td>
                     <td>
                         <asp:Label ID="SiteUrlLabel" runat="server" Text='<%# Eval("SiteUrl") %>' />
                     </td>
                     <td>
                         <asp:Label ID="LogoUrlLabel" runat="server" Text='<%# Eval("LogoUrl") %>' />
                     </td>
                 </tr>
             </ItemTemplate>
             <LayoutTemplate>
                 <table runat="server">
                     <tr runat="server">
                         <td runat="server">
                             <table ID="itemPlaceholderContainer" runat="server" border="1"
                                 style="background-color: #FFFFFF;border-collapse: collapse;border-color: #999999;border-style:none;border-width:1px;font-family: Verdana, Arial, Helvetica, sans-serif;">
                                 <tr runat="server" style="background-color: #E0FFFF;color: #333333;">
                                     <th runat="server">
                                     </th>
                                     <th runat="server">
                                         序號</th>
                                     <th runat="server">
                                         網站名稱</th>
                                     <th runat="server">
                                         鏈接類型</th>
                                     <th runat="server">
                                         網站網址</th>
                                     <th runat="server">
                                         logo網址</th>
                                 </tr>
                                 <tr ID="itemPlaceholder" runat="server">
                                 </tr>
                             </table>
                         </td>
                     </tr>
                     <tr runat="server">
                         <td runat="server"
                             style="text-align: center;background-color: #5D7B9D;font-family: Verdana, Arial, Helvetica, sans-serif;color: #FFFFFF">
                             <asp:DataPager ID="DataPager1" runat="server">
                                 <Fields>
                                     <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
                                         ShowLastPageButton="True" />
                                 </Fields>
                             </asp:DataPager>
                         </td>
                     </tr>
                 </table>
             </LayoutTemplate>
         </asp:ListView>
         </form>
     </body>
     </html>

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    ASP.NET筆記之 ListView 與 DropDownList的使用

    ASP.NET筆記之 ListView 與 DropDownList的使用:1、Repeater用來顯示數據、ListView用來操作數據 InsertItemTemplate和updateItemTemplate**Eval(顯示數據)和Bind(雙向綁定:不僅是需要展現,更需要把數據綁定到數據庫中) ItemPlaceholderID:占位符,決定占位,把頭部(之上)和尾部(之
    推薦度:
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美亚洲精品中文字幕乱码免费高清| 国产精品九九久久精品女同亚洲欧美日韩综合区 | 亚洲综合国产精品| 午夜不卡久久精品无码免费| 免费人欧美日韩在线精品| 最新国产精品亚洲| CAOPORM国产精品视频免费| 少妇人妻偷人精品无码视频新浪| 免费视频精品一区二区| 国产一区精品| 国产精品美女免费视频观看 | 国产精品国产精品国产专区不卡| 国产伦精品免编号公布| 久久国产乱子伦免费精品| 无码精品黑人一区二区三区| 亚洲一区无码精品色| 欲帝精品福利视频导航| 亚洲日韩国产精品乱| 亚洲一日韩欧美中文字幕欧美日韩在线精品一区二 | 一本一道久久精品综合| 久久精品一区二区国产| 国产亚洲精品一品区99热| 99精品高清视频一区二区| laowang在线精品视频| 99久久99久久久精品齐齐| 色花堂国产精品第一页| 亚欧洲精品在线视频免费观看 | 狠狠精品干练久久久无码中文字幕 | 国产精品婷婷午夜在线观看| 99久久国产综合精品五月天喷水| 91精品国产高清久久久久久国产嫩草 | 精品一区二区三区中文字幕| 精品免费tv久久久久久久| 久久91精品久久91综合| 亚洲国产精品久久久久婷婷老年 | 四虎国产精品永久地址99新强| 3级黄性日本午夜精品| 国产精品性爱| 日本精品一区二区三区四区| 中文精品无码中文字幕无码专区| 亚洲国产美女精品久久久久∴ |