2010-09-09 90 views
3

我想創建一個沒有代碼隱藏和設計器的ASP.Net頁面。 基本上我想回到ASP的經典,但保持CLR和基類庫使.Net哦如此精彩。 我想只是一個網頁是這樣的:ASP.Net無代碼隱藏

 

<html> 
<body> 
<div> 

    <% 
    int customerID = Request.QueryString["CustomerID"]; 
    //Customer and DataAccess classes come from an extenal assembly 
    Customer customer = DataAccess.GetCustomer(customerID); 
    %> 
    You asked for Customer with ID: <%=customerID;%><br /> 
    Name: <%=customer.Name;%><br /> 
    Phone: <%=customer.Phone;%><br /> 


</div> 
</body> 
</html> 

然而,似乎有一些問題與。

  • Request對象只能在Page對象中使用。我希望完全刪除代碼隱藏和設計器頁面。
  • 沒有intellisense
  • 還有什麼我應該知道的,在我深入這之前?
  • 不知道如何開始extenal庫
+0

你應該看看ASP.NET DataBinding。它會減少很多依賴於代碼的依賴。但是:您將遇到控制塊問題。 – Aren 2010-09-10 00:08:01

回答

7

如果您不想在代碼隱藏方面做任何事情,您不需要做任何事情。

要導入的命名空間,使用導入指令:

<%@ Import namespace="System.Web" %> 

要導入外部庫,使用匯編指令:

<%@ Assembly Name="YourAssemblyName" %> 

導入System.Web程序可以讓你的HttpContext.Current.Request對象的智能感知訪問。它也將爲您提供該命名空間中任何其他對象的智能感知,就像代碼文件一樣。

+0

感謝您對HttpContext.Current.Request的說明 - 工作。 – csauve 2010-09-09 22:26:24

+0

但是,intellisense仍然無法使用Import指令 – csauve 2010-09-09 22:26:45

+1

您正在使用哪個版本的VS?還可以嘗試任何/所有[這些設置](http://adammcraventech.wordpress.com/2009/06/23/intellisense-for-asp-net-markup-not-appearing-in-visual-studio-2008/)如果您在智能感知方面遇到問題。 – womp 2010-09-09 22:58:31

5

拉着我認爲最好的方法是看ASP.NET MVC,特別是與Razor視圖引擎。

儘管如此,你仍然會有一些工具。

+3

我不得不同意,雖然不是你問的問題,但Asp.Net Mvc非常值得研究和理解。我感受到來自OP的(正常的)Asp.Net有相當大的幻滅感,但並不是在時間上跳起來解決它,而是應該考慮更新,更好的達到同樣目的的方式。在開始時,我們放棄了大約3個月的開發,轉而使用Asp.Net MVc。我們從未回頭。 – spender 2010-09-09 22:20:47

+1

我一直在意ASP.NET MVC的一段時間,但我不認爲它適合這個項目。這些asp頁面實際上不是頁面。他們是HTML是的,但他們將被拉動通過Ajax和注入DOM。我已經寫了大量的javascript/jQuery,我真的不想重新開始一個不同的框架。 @spender:yaa對不起,如果我有點反對正常的ASP.Net。我剛剛看到很多重/慢/有問題的,並自己寫了幾個。只是我的意見,但當我寫我自己的JS + AJAX表現更好/更好的用戶體驗時,我發現頁面。 – csauve 2010-09-09 22:33:37

+1

MVC直接匹配您描述的模型,使用MVC創建頁面返回不規則的html非常容易,因爲它沒有html或body標籤。 – 2010-09-09 22:35:03