成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

如何使用ASP.NETDetailsView顯示詳細(xì)信息

這篇文章主要介紹“如何使用ASP.NET DetailsView顯示詳細(xì)信息”,在日常操作中,相信很多人在如何使用ASP.NET DetailsView顯示詳細(xì)信息問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”如何使用ASP.NET DetailsView顯示詳細(xì)信息”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)眉山,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

***一個(gè)步驟是在DetailsView中顯示選中產(chǎn)品的詳細(xì)信息. 要完成該功能, 添加一個(gè)DetailsView到頁面上, 設(shè)置它的ID屬性為ProductDetails, 給它創(chuàng)建一個(gè)新的ObjectDataSource. 配置ObjectDataSource使它通過ProductsBLL類的GetProductByProductID(productID)方法填充數(shù)據(jù),使用ProductsByCategory DropDownList的已選擇項(xiàng)的值作為productID參數(shù)的值.

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView: 選擇使用ProductsBLL類

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView: 配置 ObjectDataSource 使用GetProductByProductID(productID)方法

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView: 使用ProductsByCategory DropDownList的值作為productID參數(shù)的值

你可以選擇在DetailsView顯示的任何有效的字段. 我決定不顯示ProductID, SupplierID, 和CategoryID字段并且對(duì)其余的字段重新排序及格式化.另外, 我去掉了DetailsView的Height和Width屬性設(shè)置, 允許DetailsView可以擴(kuò)展到需要的寬度, 這樣比把它限制在指定的大小會(huì)更好的顯示數(shù)據(jù). 下面便是全部的標(biāo)記性語言(markup)

< asp:DetailsView ID="ProductDetails" runat="server" AutoGenerateRows="False" DataKeyNames="ProductID"  DataSourceID="ObjectDataSource1" EnableViewState="False">   < Fields>   < asp:BoundField DataField="ProductName" HeaderText="Product" SortExpression="ProductName" />   < asp:BoundField DataField="CategoryName" HeaderText="Category" ReadOnly="True" SortExpression="CategoryName" />   < asp:BoundField DataField="SupplierName" HeaderText="Supplier" ReadOnly="True" SortExpression="SupplierName" />   < asp:BoundField DataField="QuantityPerUnit" HeaderText="Qty/Unit" SortExpression="QuantityPerUnit" />   < asp:BoundField DataField="UnitPrice" DataFormatString="{0:c}" HeaderText="Price"  HtmlEncode="False" SortExpression="UnitPrice" />   < asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" SortExpression="Units In Stock" />   < asp:BoundField DataField="UnitsOnOrder" HeaderText="UnitsOnOrder" SortExpression="Units On Order" />   < asp:BoundField DataField="ReorderLevel" HeaderText="ReorderLevel" SortExpression="Reorder Level" />   < asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />   < /Fields>   < /asp:DetailsView>

花點(diǎn)時(shí)間在瀏覽器中測(cè)試一下MasterDetailsDetails.aspx頁面. 乍一看好像一切如預(yù)計(jì)的那樣順利, 但是卻有一個(gè)小問題. 當(dāng)你選擇了一個(gè)新類別, ProductsByCategory DropDownList會(huì)更新顯示選中類別的產(chǎn)品, 但是ProductDetails DetailsView還是顯示上一個(gè)產(chǎn)品的信息. 當(dāng)選擇了一個(gè)選中類別的不同的產(chǎn)品時(shí)DetailsView應(yīng)該被更新. 此外,如果你的測(cè)試足夠徹底, 你將會(huì)發(fā)現(xiàn)如果你不斷的選擇新類別(比如在Categories DropDownList中選擇Beverages,然后選擇Condiments,然后是Confections)每個(gè)類別的選擇都會(huì)使ProductDetails DetailsView被刷新.

為了讓這個(gè)問題更具體一些, 讓我們看一個(gè)例子. 當(dāng)你***次訪問該頁面時(shí), Beverages類別是選中的并且與之相關(guān)的產(chǎn)品在ProductsByCategory DropDownList中列出. Chai是當(dāng)前選中的產(chǎn)品,他的詳細(xì)信息顯示在ProductDetails DetailsView中, 如圖18.

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView: DetailsView顯示了選中產(chǎn)品的詳細(xì)信息

如果你把類別選項(xiàng)Beverages 改成 Condiments, 便會(huì)發(fā)生一次回發(fā), ProductsByCategory DropDownList會(huì)相應(yīng)的更新, 但是DetailsView仍然會(huì)顯示Chai的詳細(xì)信息.

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView:上一次選擇產(chǎn)品的詳細(xì)信息仍然在顯示

在列表中選擇一個(gè)產(chǎn)品會(huì)如預(yù)期地一樣刷新DetailsView, 如果你改變了產(chǎn)品之后選擇了一個(gè)新的類別, DetailsView又一次沒有刷新. 然后如果你選擇一個(gè)新類別而不是選擇一個(gè)產(chǎn)品, DetailsView則會(huì)刷新. 究竟是怎么回事呢?

這個(gè)問題是由頁面生命周期的時(shí)間調(diào)度引發(fā)的. 當(dāng)頁面被請(qǐng)求時(shí)會(huì)經(jīng)過一系列的處理后呈現(xiàn)出來. 這其中的一項(xiàng)處理便是ObjectDataSource控件檢查他的SelectParameters值是否發(fā)生變化. 如果發(fā)生了變化, WEB控件綁定到ObjectDataSource的數(shù)據(jù)便會(huì)刷新顯示. 比如, 當(dāng)一個(gè)新類別被選中時(shí), ProductsByCategoryDataSource ObjectDataSource發(fā)現(xiàn)它的參數(shù)值已經(jīng)發(fā)生了變化,然后ProductsByCategory DropDownList就會(huì)重新綁定,獲取所選中類別的產(chǎn)品.

在這種情況下發(fā)生的該問題是由于在頁面的生命周期中ObjectDataSources檢查參數(shù)是否發(fā)生改變的動(dòng)作是在關(guān)聯(lián)的WEB控件重新綁定之前. 因此,當(dāng)選擇了一個(gè)新的類別ProductsByCategoryDataSource ObjectDataSource會(huì)檢查到它的參數(shù)值發(fā)生了變化. 但是, ProductDetails DetailsView使用的ObjectDataSource并沒有發(fā)生任何變化,因?yàn)镻roductsByCategory DropDownList還沒有重新綁定. 在稍后的生命周期中ProductsByCategory DropDownList重新綁定到它的ObjectDataSource,獲取剛剛選中類別的產(chǎn)品. 當(dāng)ProductsByCategory DropDownList的值發(fā)生變化的時(shí)候ProductDetails DetailsView的 ObjectDataSource已經(jīng)完成了它的參數(shù)值檢查工作. 因此, DetailsView還是顯示先前的數(shù)據(jù). 圖20描述了這個(gè)交互的過程.

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView: T ProductDetails DetailsView的 ObjectDataSource的檢查工作結(jié)束后ProductsByCategory DropDownList的值才改變.

要解決這個(gè)問題,我們需要在ProductsByCategory DropDownList綁定后顯式的重新綁定ProductDetails DetailsView. 我們可以在ProductsByCategory DropDownList的DataBound事件中調(diào)用ProductDetails DetailsView的DataBind()方法. 把下面的事件處理代碼添加到MasterDetailsDetails.aspx頁面的代碼后置類:

protected void ProductsByCategory_DataBound(object sender, EventArgs e)   {   ProductDetails.DataBind();   }

添加對(duì)ProductDetails DetailsView的DataBind()方法的顯式調(diào)用后,就一切正常了. 圖21高亮顯示了該方法是如何解決這個(gè)問題的.

如何使用ASP.NET DetailsView顯示詳細(xì)信息

ASP.NET DetailsView:在ProductsByCategory DropDownList的DataBound事件中ProductDetails DetailsView被顯示的刷新.

DropDownList控件是一個(gè)非常理想的用于主/從報(bào)表(主記錄和從記錄存在一對(duì)多關(guān)系)的用戶接口元素(user interface element ). 在前面的教程中我們看到了如何使用單個(gè)DropDownList對(duì)選中的類別進(jìn)行產(chǎn)品過濾. 在本教程中我們使用GridView代替了DropDownList做為產(chǎn)品列表, 使用DetailsView顯示選中產(chǎn)品的詳細(xì)信息. 本教程所討論的概念可以很容易的擴(kuò)展到包含多個(gè)一對(duì)多關(guān)系的數(shù)據(jù)模型, 比如客戶,訂單及訂單項(xiàng). 通常,在一對(duì)多的關(guān)系中你總是可以使用DropDownList 來表示"主"實(shí)體(一對(duì)多中的一,主/從關(guān)系的主記錄)

到此,關(guān)于“如何使用ASP.NET DetailsView顯示詳細(xì)信息”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

本文名稱:如何使用ASP.NETDetailsView顯示詳細(xì)信息
本文來源:http://jinyejixie.com/article36/ijjspg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、電子商務(wù)、關(guān)鍵詞優(yōu)化標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
论坛| 中宁县| 青岛市| 凯里市| 永年县| 福清市| 宁乡县| 砚山县| 策勒县| 贡山| 保德县| 凤台县| 太仓市| 阜新市| 昌图县| 久治县| 临沭县| 满城县| 资源县| 游戏| 那坡县| 高邮市| 沙雅县| 沂源县| 金昌市| 虹口区| 晋宁县| 唐山市| 永新县| 琼海市| 鲁甸县| 五峰| 正镶白旗| 陇川县| 长武县| 土默特右旗| 三穗县| 宁安市| 梅河口市| 阳江市| 临邑县|