我記得在Scott Gu's Razor announcement提到完整的調試器支持Razor視圖;並且我很高興能夠在Razor視圖中設置斷點,但也碰到無法在視圖中設置斷點,只能很快意識到它是ASPX視圖。 :P在MVC ASPX視圖中設置斷點
有時候我不能幫助/改變現有的視圖使用ASPX視圖引擎,但是:有沒有一種方法我還沒有學會在ASPX視圖中設置斷點?如果不是,下一個最好的事情是什麼?有沒有比Debugger.Break()
更好的解決方法,並在調試後恢復?
我記得在Scott Gu's Razor announcement提到完整的調試器支持Razor視圖;並且我很高興能夠在Razor視圖中設置斷點,但也碰到無法在視圖中設置斷點,只能很快意識到它是ASPX視圖。 :P在MVC ASPX視圖中設置斷點
有時候我不能幫助/改變現有的視圖使用ASPX視圖引擎,但是:有沒有一種方法我還沒有學會在ASPX視圖中設置斷點?如果不是,下一個最好的事情是什麼?有沒有比Debugger.Break()
更好的解決方法,並在調試後恢復?
與流行的看法相反,您可以在ASPX視圖中實際設置斷點。
在Visual Studio中,您可以在所需位置導航光標,點擊F9(切換斷點)並完成。
它可以在Razor和ASPX視圖中完成,甚至可以在ASPX頁面(在WebForms中)完成。
如果你不能在那裏設置斷點,這意味着給定的部分不是C#代碼,而是HTML部分。您不能在<span>
等部分設置斷點,您只能將其設置在愚蠢的<%
和%>
部件之間(在剃刀中爲@{...}
,@(...)
或簡單地爲@...
)。
還要確保您的應用程序已構建,並且調試器已連接到服務器實例(如果它在IIS Express項目屬性中切換到Development Server,並且反之亦然)。
停止任務欄上的開發服務器實例,重新生成項目並重新啓動它。它應該擊中斷點就好。
非常好 - 很高興我問了!這是一個自我實現的預言:根據我的經驗,許多人認爲這隻適用於Razor(就像Razor公告強調完全的調試器支持與ASPX完全不存在的情況相反),並迅速找到「支持」證據;我走上了同樣的道路,但仍然持懷疑態度。這次重新檢查有問題的視圖,在同一行上標記一些標記,用於設置斷點,併產生「這不是斷點的有效位置」。點擊將光標放在'<%'後面,然後按F9就可以工作。 – J0e3gan
http://stackoverflow.com/questions/1354764/cannot-put-breakpoint-in-an-asp-net-mvc-view-when-running-in-iis7 – Freelancer
謝謝,@Freelancer。在發佈我之前,我回顧了這個問題,但我認爲它有點不同。 – J0e3gan
難道你只是在給定的位置F9?我記得當天在我的aspx視圖中使用了斷點。 – SoonDead