demoshop

demo, trying to be the best_

在很多時候我們都會在頁面上放置 HTML 編輯器 來讓使用者輸入一些資訊,但是 ASP.NET 內建就會阻擋在 Request 時丟出 HTML Tag 已避免一些跨網站或是指令碼攻擊,但是今天在 ASP.NET MVC 使用時會發生了怪事。

以往我們在使用 ASP.NE 的時候作刪除實在是爆簡單的,隨處可刪,隨手可刪,但是如果你有接觸過ASP.NET MVC 看完了官方教學文章後你會有一個很直接的問題 為什麼新增、編輯、更新都有教學就是獨漏〔刪除〕 難道ASP.NET MVC不能刪除嗎?

最近案子經常需要判斷目前頁面是否是指定的頁面然後動態顯示一些什麼出來,之前都是想到一個寫一個判斷所以到後來還滿雜亂的,今天好不容易把案子趕完了空閒的時間就來整理一下這個我覺得我會很經常性用到的Helper。

我們在製作網頁的時候一定會有不少重複的頁面,以往我們可以利用UserControl來處理在MVC內也有不過不是稱為UserControl我們叫它 Partialview ,如果只是載入重複的靜態頁面當然是很容易的,但往往我們需要判斷這PartialView是被誰呼叫的來動態改變一些顯示值,如果只是判斷網址已經不符合ASP.NET MVC的玩法,因為他本來就帶有一個強大的url重寫機制,呈現的網址不一定是真的,因此我們要判斷的來源一定必須要從Controller和Action來下手。

嗯...這標題看起來有點鳥,難道說ASP.NET MVC 連標頭設定都是有難度的?
一般我們在製作網站的時候都會希望有個共同的Title就拿demo小鋪來說,不管你到那一頁都會看到Title最後會有「-demo小鋪」 字樣,這在ASP.NET內是一個很無聊的技巧,為什麼呢?因為只要加到MasterPage就好啦,到了ASP.NET MVC可就不一樣了...

demo今天遇到一件事情,類似一個清單頁面讓使用者勾選需要變更的項目然後丟到後端去做應該做的事情,這種看似簡單的事情也會有問題倒是很詭異,下了中斷點,看了原始碼才發現原來ASP.NET MVC丟給我的值的並不是我想的那麼平凡,Google了一下也有人有這問題,所以就紀錄一下我的解法吧。

分頁是一個從ASP.NET開始就很討厭的東西,因為有效率的分頁不好做,好不容易有了SQL2005的ROW_NUMBER() 可以讓Code少很多,後來又遇到了LINQ帥,Code更少了,今日demo的專案要實做分頁的功能了,原本想到自己打造,後來找到了網友已經寫好的一個很不錯的分頁,而且架構漂亮,再度證明了社群力量大。

ASP.NET MVC 是一個新的玩意,在資料非常少的情況之下,想要知道用法可以直接k source code,也可以去參考別人寫的,demo因為在趕案子所以沒時間去看別人的code,就在上個星期五和保哥提到我自己覺得我的code好醜唷,保哥看了一下,也很不客氣的回我說,嗯滿醜的...但礙於和時間賽跑,所以我沒辦法自己改code所以就商請保哥假日的時候幫我改一下,順便我假日時回去k一下Scottgu放出來的eBook,demo在這提出我覺得很不錯的應用ViewModel。
 

今天在藍色小舖看到有人問了這個問題,一長串很髒的資料要抽出需要的部份,解法很多種但是寫法都很不直覺,所以demo就利用正規表示式(Regular Expression)來處理了這個問題,以下就是解法〔這分類還真難分,因為他存在於各種語言中,把他分類為ASP.NET是因為,其他的語法是ASP.NET的,哈~〕

ASP.NET MVC 在RC1 版本以後對於檔案的上傳與下載多了一些支援,剛好最近有處理到檔案上傳、下載的部份,紀錄一下方便以後查看。

demo在今天(現在是凌晨應該是說昨天)撰寫案子的時候遇到了一個問題,一個資料表中有超過30個欄位,因為現在demo都是用Linq在操作資料庫了,之前寫的時候也沒啥問題,但是這次的30個欄位難道我要和白癡一樣一行一行寫嗎?心中的OS:「程式不該是這樣」,想了一下呼叫了召喚獸,召喚獸給了一個關鍵字Reflection。