2010-09-09 2 views
3

Я хотел был бы создать страницу ASP.Net без всех вещей codebehind и конструктора. В принципе, я хочу вернуться к классике ASP, но сохраните CLR и базовую библиотеку классов, которые делают .Net oh-so-wonderful. Я хотел бы просто страничное что-то вроде этого:ASP.Net без codebehind

 

<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. Я хочу полностью удалить страницы codebehind и designer.
  • No intellisense
  • Что-нибудь еще, о чем я должен знать, прежде чем я углубись в это?
  • Не знаю, как начать вытягивать в extenal библиотек
+0

Вы должны изучить ASP.NET DataBinding. С самого начала это уменьшит большую зависимость от кода. Однако: у вас будут проблемы с блоками управления. – Aren

ответ

7

Вам не нужно ничего делать, если вы этого не хотите.

Чтобы импортировать пространство имен, используйте директиву импорта:

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

Чтобы импортировать внешние библиотеки, используйте директиву Assembly:

<%@ Assembly Name="YourAssemblyName" %> 

Импорт System.Web позволит вам INTELLISENSE доступ к объекту HttpContext.Current.Request , Он также даст вам intellisense для любых других объектов в этом пространстве имен, как и файл кода.

+0

Спасибо за примечание к HttpContext.Current.Request - это сработало. – csauve

+0

Однако intellisense все еще не работает с директивой Import – csauve

+1

Какую версию VS вы используете? Также попробуйте все/все [из этих настроек] (http://adammcraventech.wordpress.com/2009/06/23/intellisense-for-asp-net-markup-not-appearing-in-visual-studio-2008/) если у вас проблемы с intellisense. – womp

5

Я думаю, что вам лучше всего смотреть на ASP.NET MVC, в частности, с Razor View Engine.

У вас все еще есть некоторые инструменты вокруг этого.

+3

Я должен согласиться с тем, что, хотя и не то, что вы просили, Asp.Net Mvc серьезно стоит посмотреть и понять. Я ощущаю большое количество разочарования (нормального) Asp.Net от OP, но вместо того, чтобы решать его с повторением во времени, они должны рассмотреть более новые и лучшие способы достижения той же цели. На момент своего создания мы отказались от 3 месяцев развития в пользу перехода на Asp.Net MVc. Мы никогда не оглядывались назад. – spender

+1

Я имел в виду некоторое время просматривать ASP.NET MVC, однако я не думаю, что он подходит для этого проекта. Эти ASP-страницы не являются фактически страницами. Они html да, но они будут вытащены через ajax и введены в DOM. У меня уже есть огромное количество javascript/jQuery, написанных на самом деле, я бы не хотел начинать с другой структуры. @spender: yaa извините, если я немного покончу с обычным ASP.Net. Я только что видел много тяжелых/медленных/багги, и написал несколько. Просто мое мнение, но я нахожу страницы, когда я пишу свой собственный JS + ajax, выполняющий намного лучший/лучший пользовательский интерфейс. – csauve

+1

MVC напрямую соответствует модели, которую вы описали, очень просто использовать MVC для создания страниц, которые возвращают оборванный html в том смысле, что у него нет тега html или body. –

Смежные вопросы