2021年10月21日 星期四

在MVC 的 Layout 中建置動態 Menu

想當年Asp.net WebForm  ,其實現在它也還活得好好的. 在開發時有很多很多的控制項和樣本.讓大家想怎樣就怎樣.有個東西叫Master Pages主版頁面及Content Pages內容頁面 ,在如今MVC當道的現在.很多年輕人.應該沒有聽過..長話短說..當初的menu , navbar都可以通通放在Master Pages 用程式控制.BUT 換來MVC 之後..只知道可以放在layout.cshtml 但是但是....要動態的,簡單嘛..放一個Model就好了.對吧? 於是乎傻傻的笨笨的要動手了.但是但是...捫心自問Layout.cshtml 的contorller 在哪裡? 真的被自己婊到...
在本人不專業的處理過程如下:
1.先建立一個MVC專業
2.在HomeController裡建立兩個Action 如圖
3.建立個別的View如圖
 
建立好了之後將Layout 裡屬於header的部份,剪下貼到TopHeader.cshtml裡


再來改寫Layout.cshtml的內容

LeftMenu.cshtml的部份也一樣.


這時的Layout.cshtml應該會長這樣

執行成功就跟之前畫面一樣.但我們要的是動態的,
所以呢先建立一個viewmodel 如圖


4.讀取動態資料
5.修改前端的view

LeftMenu
TopHeader


Layout

執行:
WTF 為什麼是空的?????
請注意:這時要用Html.RenderAction
如圖


再來一次


這個時候就可以正常顯示了!

2021年10月13日 星期三

EPPlus Please set the ExcelPackage.LicenseContext property

 使用EPPlus 來建立Excel是很方便的..一如往常的


But  


What???? 居然會報錯

Google 了一下原來是因為EPPlus 的新版本的問題.
這時只要加上這句

ExcelPackage.LicenseContext = LicenseContext.NonCommercial;


就可以正常運作了!






MS-SQL查詢指定資料表的結構

如果今天要修改一個欄位的長度,再來查查看是否有修改成功  1. MS Sql 修改欄位語法 ALTER TABLE MyTable ALTER Column Column_1 nvarchar(10) NOT NULL 2. 方法1 -- 查詢指定資料表的結...