入門實戰-在頁面中增加下拉框、復選框功能的增加和修改
一個標準的表單應用頁面(視圖),有很多元素,文本框只是有的多一些,還有復選框,下拉框,單選鈕等各種元素,本節我將講述使用asp.net core編程實作下拉框的操作和應用,演練代碼還以Menu選單管理有例,在視圖內增加下拉框,復選框,實作資料的增加和編輯功能,可以通過列舉或者靜態代碼實作下拉框select選擇,但本節講解從資料庫拉取資料填充下拉框,
1.增加下拉框:在Controller檔案夾下的MenuController內,在Action中修改Create的方法代碼增;在HttpGet型別的Create中初始化下拉框,在HttpPost型別的Create中獲取下拉框值并保存,同時重置下拉框,否則,保存后,下拉框將會報錯或只有默認的一項,除非你action到另外的頁面,
(1).Action的修改,
(2).View的修改
(3).預覽效果
2.修改下拉框:在MenuController檔案內,修改Action視圖Edit增加下拉框
(1).先修改一下Action,主要是下拉框的賦值并選中的問題
(2).View頁面不用做任何修改,編輯時選中那一項,在HttpGet型別的Edit中,已經在生成系結select的ViewData[“MenuDrop”]時設定,當物件的ParentId與表中存盤的ParentId相等設定Selected=true;
(3).HttpPost型別的Edit是保存編輯后的值賦值保存即可;
以上對下拉框的操作只適應于一級選單情況(就是單純的一個類別欄位),如果下拉框是二級選單操作,需要用到級聯操作,
3.二級級聯下拉框的代碼撰寫
原則上二級和以上的多級級聯下拉框最好是多個表設計,例如省市區這種三個下拉框的選擇,面向物件設計時,各自表單獨設計在使用類物件時就方便一下,把欄位設計到一個表中,那么使用Sql陳述句取值方便,但不符合Asp.Net Core 或者新的Web編程模式;下面演練下我實作的二級下拉框(編輯功能沒有實作)
(1).在View視圖中,修改Create.cshtml檔案,在原來父選單行位置,以如下方式添加2個DropDownList;
(2).在View視圖中,Create.Cshtml檔案中,增加Js代碼,需要參考Jquery,注意js代碼中的op.text=j.text和op.value=https://www.cnblogs.com/mushaobai/p/j.value的大小寫,如下
(3).在Controller中的MenuController.cs檔案中,修改action,和增加個方法,如下圖
(4).最后預覽效果
4.關于選單管理功能的處理方式,
添加系統選單的處理方式有這樣一種處理方式,串列之上新建按鈕[添加],用來實作增加根目錄選單,然后在每個子目錄行上,添加一個Add 實作該選單下的子選單添加,如下圖示:
這樣處理邏輯清楚一些,正好避開了下拉框問題,當然還是要掌握下拉框的功能編碼,以后的業務邏輯總是要遇到,
5.復選框的使用
在前面講洗掉和查詢的章節中,有批量洗掉的例子,里面的復選框使用都是在前臺代碼Js中實作操作,我們在選單修改中,嘗試增加復選框來,
(1).單一使用,在Menu管理的View視圖的Create.cshtml中,增加一個復選框,因為對應Menu資料表的IsDisplay欄位,為bool型別,
(2).執行Action保存資料是,獲取到的值(如果選中,則是True,如果不選,則是False)
(3).在編輯頁面(Edit.cshtml)視圖中,從物件判斷,如果是True,則是選中,如果是False,則是非選中,展現完資料后,你在進行編輯,Edit的Action的代碼與Create中的類似,不在演練提出,
6.復選框另外一種用法代碼撰寫,我貼出關鍵代碼,在文章管理中會有詳細的代碼,
(1).在Create視圖的代碼片段
(2).在Edit時的代碼片段
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/532476.html
標籤:.NET Core
上一篇:C#多執行緒之執行緒基礎篇