Подтвердить что ты не робот

Создать код за файлом после создания aspx

Я просто унаследовал веб-сайт, созданный дизайнером. Сайт был создан со всеми *.html файлами. Дизайнер переименовал все *.html файлы в *.aspx файлы. Следовательно, нет файлов aspx.cs. Я вытащил сайт в новое решение VS2012. Мой вопрос в том, есть ли способ в VS 2010 автоматически создавать код за файлами для существующего автономного aspx файла?

4b9b3361

Ответ 1

Я не знаю автоматизированного способа сделать это, но если в существующих *.aspx файлах нет кода на стороне сервера, то это должен быть случай добавления файлов .cs codebehind, а затем их проводка в теге <%@ Page:

<%@ Page Title="YourPageTitle" Language="C#" AutoEventWireup="true" CodeBehind="YourPage.aspx.cs" Inherits="YourNamespace.YourPage" %>

Примечание. Это не приведет к созданию файла YourPage.aspx.designer.cs. (Обычно я удаляю их, поскольку они вызывают проблемы с объединением - мне проще добавить элементы управления, которые мне нужно ссылаться на мой файл с кодом ниже).

Другой альтернативой является просто создать новую "веб-форму" для каждой страницы с правильными именами, а затем скопировать и вставить существующую разметку в них. Если у вас есть код сервера в существующих файлах *.aspx, вам необходимо вручную скопировать его в код.

Ответ 2

Основываясь на том, что я нашел здесь: http://forums.asp.net/t/1229894.aspx/1

  • Щелкните правой кнопкой мыши на своем браузере решений.
  • Добавить новый элемент → Файл класса.
  • Назовите файл как имя вашего aspx, например: Default.aspx.cs
  • Когда он спрашивает, что файл должен быть в app_code, нажмите "нет".
  • В атрибуте aspx в странице добавьте

    AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default"
    
  • Аналогично в вашем файле класса, который вы только что добавили, удалите все. Ваш класс должен выглядеть следующим образом:

    //all namespaces go here
    
    
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
    

Ответ 3

В Visual Studio 2012: щелкните правой кнопкой мыши по проекту → нажмите "Добавить" → щелкните "Веб-форма" → Скопируйте содержимое исходного файла aspx в новый WebForm aspx → удалите исходный файл aspx → Переименуйте новый, чтобы все, что вы хотите. Теперь у вас должен быть новый файл aspx с кодом, который готов к использованию

Ответ 4

После того, как вы добавите новый .cs файл, вы можете увидеть, что файл выглядит как файл codebehind (отступ, значок и т.д.). Для этого:

  • Выгрузить проект
  • Изменить проект
  • Найдите новое имя файла (file.aspx.cs) в разделе с файлами.
  • Добавьте xml node для DependentUpon.
  • Сохранить и закрыть проект
  • Обновить проект

Для файла Profile.aspx.cs, xml должен выглядеть примерно так:

<Compile Include="Profile.aspx.cs">
  <DependentUpon>Profile.aspx</DependentUpon>
  <SubType>ASPXCodeBehind</SubType>
</Compile>

Ответ 5

Чтобы уберечь себя от драмы ручного редактирования файла проекта, такого как подробности Дэвида Фретта, я предлагаю вам удалить файл из проекта и создать новый файл с тем же именем и кодом. Затем скопируйте и вставьте содержимое оригинального aspx или ascx в новые файлы.