關於MVC的一點看法

2021-07-12 03:21:43 字數 1794 閱讀 8728

最近,這個微軟的mvc,是在圈內非常的火熱,貌似不會mvc,都有點丟人。

這個產品也有很多年了,從mvc3我就關注過,當時覺得不怎麼好,就沒有用,現在是mvc5了,也關注了下,覺得還是不是太好。也可能是我有點閣僚。

為什麼我就非常不喜歡呢?

有句話是這樣說的,愛屋及烏 。

而我是 惡其餘胥 。

razor 非常糟糕!

雖然是伺服器端的頁面解析 引擎,可能比webpage好多了,但是這個寫法,在html**裡面,嵌入了一些伺服器端**,感覺又回到了asp時代,jsp時代,不進反退。

我這麼說是因為,好多用mvc的同時是這樣寫的。

@

@if (viewdata["errmsg"].tostring() == "")

if (item["shzt"].tostring() == "0")

if (item["shzt"].tostring() == "2")

}@html.raw(shzt)

class="center">

@html.raw(item["zhzt"].tostring() == "1" ? "啟用中" : "禁用中")

class="center">

@item["zcsj"]

class="center">

@item["dlcs"]

}

}

是我這位同事寫的糟糕呢?還是大家都是這樣?

在razor檢視,也就是view檢視層面,出現大量後端程式的**邏輯,這個是前端程式完全看不懂的。

據說mvc要分層,要做到前後端分離。在檢視層,只進行資料的顯示,進行一些簡單的邏輯,而不是把所有的邏輯放在前端,在前端還進行大量的業務呼叫,可能還會出現對資料庫的操作呼叫。

如果是在檢視層,只寫普通的html**,以及一些擴充套件的html標籤,以及呼叫一些函式會怎樣呢?例如這樣……

collection="$"

var="vipuser"

index="index">

$td>

$td>

$td>

$td>

$td>

$td>

$td>

td>

tr>

eye:foreach>

tbody>

注:據說mvc6就可以避免出現大量的c#**了

解析流程特別糟糕!

在使用mvc時,如果需要訪問某個頁面,是不能訪問的,必須有乙個控制器,也就是,每個頁面對應乙個控制器,不然是無法訪問的。例如有個檢視是logon.cshtml,而頁面可能就是個簡單的登入框,不需要任何的後台**,此時,也不能直接進行訪問,必須通過乙個action才能訪問到。

我這樣說對麼?

如果我們能直接訪問到logon這個頁面就好了,例如: /sys/logon.aspx

自定義route解析規則

mvc的路由規則有點讓人很憤怒!

例如,我想讓所有不符合規則的請求都請求某個action或者某個頁面(不是404頁面),這個時候,我傻了,mvc本身不可以這樣,只能返回乙個404.

我們是不是可以讓所有不符合規則的請求,都請求我們自己定義的某個action呢?(設定404屬於mvc的體制範疇之外) 然後我們根據請求,來輸出內容。

可能在所有人都把mvc捧為香餑餑的時候,我來這麼一篇博文會讓他們很不高興,但我在開發中確實遇到了這樣的問題,這些問題不解決。

關於積累的一點看法

罈子裡有人討論小公司要不要積累框架的問題,有感而發,寫了點自己的看法,一家之言,歡迎拍磚。我在學習銷售的時候,有個理念對我震動很大。我們在各行各業都看到很多成功人士,大家都很羨慕他們,希望能像他們一樣成功,但是很少有人能做到。有人就分析,發現這些人比別人並不聰明多少,但基本上就有乙個特點,他們很善於...

關於積累的一點看法

我們在各行各業都看到很多成功人士,大家都很羨慕他們,希望能像他們一樣成功,但是很少有人能做到。有人就分析,發現這些人比別人並不聰明多少,但基本上就有乙個特點,他們很善於發揮時間的威力,在他們很年輕的時候,就每天堅持做一點對自己有益的積累,這個積累,可能是一次訓練,可能是一段 可能是乙個善舉,可能是乙...

關於積累的一點看法

這是vip那邊發表的一篇帖子,今天整理,發現可能有一點代表性,就再發在這裡,供各位同學參考。罈子裡有人討論小公司要不要積累框架的問題,有感而發,寫了點自己的看法,一家之言,歡迎拍磚。我在學習銷售的時候,有個理念對我震動很大。我們在各行各業都看到很多成功人士,大家都很羨慕他們,希望能像他們一樣成功,但...