Razor 生成的html格式可以調整嗎?

在cshtml文件里格式規範的代碼,如圖。

這裡空行和縮進都很完美,但是生成的html源碼卻有問題,

不是沒有縮進就是多了空行。

我嘗試過把cshtml中的格式調整,來適應生成的html

生成的html

勉強可以,但cshtml源代碼好醜,有辦法解決嗎?


屬於強迫症了。一個好的組件化模板往往都是上下文無關的,要保持這種良好格式就需要自帶更多信息例如縮進級別,反正主要又不是給人看的,沒必要糾結這些。


其實。。。有種做法是在HTML輸出的時候,把所有換行都去掉,也就是輸出成一行,類似於CSS和JS的壓縮,這樣即縮小了傳輸量,提高性能,而且媽媽再也不用擔心空白縮進的問題了!MVC里可以用action filter做吧,當然我自己偏向用HttpModule來搞。


這個問題我正好也糾結過,不過糾結的是在gorazor去除多餘的空格:Should it preserve newline and whitespace? · Issue #6 · sipin/gorazor · GitHub

razor是開源的: Razor/src/Microsoft.AspNet.Razor at dev · aspnet/Razor · GitHub 有興趣就直接去fork fix吧~


去裝個 Webstorm,每次生成完跑一遍代碼自動優化和排版就好了……


其實解決方案就是 要麼讓razor源代碼丑,要麼讓html代碼丑,不過綜合考慮還是讓razor丑一些比較好,畢竟html是網站的「面子」。

@馬非碼 「閑的蛋疼」 不是解決方案,只能用來形容評論的質量。在知乎這種人叫「閑蛋超人」。


filter里對html做壓縮你覺得如何


這個是經過壓縮了的結果,如果覺得不喜歡,可以自己自定義載入文件


推薦閱讀:

HTML 哪些元素不能有後代元素?編寫時應注意哪些?
如果網頁沒有 CSS 會怎麼樣?
有哪些在伺服器端給網頁截圖的辦法?
知乎上很多前端大佬說,要做好前端的話html和css基礎必須夯實。那麼,達到什麼水平才能叫基礎夯實呢?

TAG:HTMLCSS | ASPNETMVC | Razor |