2011-08-09 26 views
1

我一直在使用ASP.Net一段時間,但我有一個關於如輸出內容的基本方式的問題,如錯誤消息。以編程方式設置輸出的最佳做法?

我看到兩個主要備選方案:

  • 使用的用戶控制和設置在代碼隱藏的內容。

    <asp:Literal id="litError" runat="server" /> 
    

    代碼隱藏:

    litError.Text = "You're doing it wrong!"; 
    
  • 設置在代碼隱藏和輸出它的成員變量。

    protected string errorMessage; 
    ... 
    if(error) 
        errorMessage = "You're doing it wrong!"; 
    

    ASPX:

    <%: errorMessage %> 
    

哪種方法是最好的做法?這只是個人喜好,使用哪種方法? 我知道在某些情況下可能無法使用其中一種或另一種方法,但我正在談論兩種方法都可行的情況。

有什麼優點和缺點?有第三種方式應該是首選嗎?

我總是使用usercontrol方法,但在ASP.Net 4.0中引入了新的塊句法,我開始認爲我可能在錯誤的軌道上。

+0

有人可以幫我得到問題的代碼格式正確嗎?我不知道爲什麼我不能正確輸出asp.net代碼......編輯:nvm得到了它 – magnattic

回答

1

我認爲這只是歸結爲偏好。就個人而言,我不喜歡將內聯代碼與代碼混合在一起,所以我總是(在可能的情況下)傾向於使用代碼輸出的代碼。從業務角度來看,我認爲內聯和代碼混合破壞了一致性,並使代碼難以爲下一個人學習。我會一直投票贊成一致。

這只是我的兩美分。希望能幫助到你。

+0

由於有效的一致性點,選擇此作爲答案。 – magnattic

0

我認爲這主要歸結爲偏好。除了語法之外,兩種常用方法之間沒有真正的區別。

2

我不認爲有一個正確的方法來做到這一點,他們都是完全有效的選擇。它們最終都作爲頁面類的屬性。文字控件是一個服務器控件,所以有作爲頁面開發人員可能對你有用的屬性和方法,但這將是個案的基礎。

0

這兩者之間存在細微差別,因爲在代碼後面運行代碼並填充服務器控件,另一個是對後面代碼方法的引用。根據您的編碼技術,代碼運行時可能會有所不同。 但是,就最佳實踐而言?像其他人的回答一樣,這取決於偏好。

相關問題