2011-09-14 12 views
1

在傳統的ASP,我愛的事實,我可以寫出來的變量,公式等,等一個簡單的:ASP標籤?爲什麼不只是=變量?

<span class='<%=myClass%>'><%=myariable%></span> 

我可以格式化,或做任何我想要的。很容易。我甚至可以在它們上面運行函數等等。我知道,在.Net中,我仍然可以執行所有的函數等等(而且它被視爲一個對象的事實很好),但我似乎做了很多這,而且很煩人!

<asp:Label ID='pnlMyVariable' runat='server'></asp:Panel> 
%% CODE BEHIND %% 
pnlMyVariable.Text = "Yeah, write this short sentence..."; 
pnlMyVarialbe.CssClass = "blah"; 

不要讓我開始討厭,但有點有用的FindControl方法!

這真的是它的方式嗎?如果你說「是的,就是這樣」,那麼我會接受它。但是肯定有些人(如果有足夠的年齡來欣賞經典的ASP)誰看到這有點煩人。我正確地處理這個問題嗎?

+2

您仍然可以使用該語法。或者查看Asp.Net MVC3的剃鬚刀http://weblogs.asp.net/scottgu/archive/2010/12/15/asp-net-mvc-3-razor-s-and-lt-text-gt-syntax。 aspx – Joe

回答

1

您正在正確使用asp:Label控件,是的。但是,這不是您使用此控件的要求。你有很多其他選擇,但其中兩個可能會吸引你最有:

  1. 使用asp:Literal控制。這將很像Label,但不包含任何額外標記中的值。這可以讓你像過去一樣控制標記和樣式。

  2. 使用經典語法。如果您的頁面類具有publicprotected屬性,則可以使用相同的經典ASP語法在標記中引用該屬性。作爲.NET中的慣例,出於很多理由,最好使用屬性而不是直接訪問成員變量。但這可能最終只會成爲你的偏好問題。

0

在webforms中,您需要維護一個與winforms類似的模型。這些控件還使用視圖狀態,使它們在後發之間保持其值。 MVC在html方面更接近於經典的asp,但在後端仍然是非常面向對象的。我強烈推薦它!

+0

我會檢查出MVC。如果我已經在VS2010中有一個項目,並使用「winforms」,我是否需要做任何轉換?或者我可以開始使用MVC創建新頁面嗎?我喜歡控制......而我喜歡代碼 - 不是表單,拖放或嚮導。 –