Создать код за файлом после того, как aspx был создан - PullRequest
26 голосов
/ 19 марта 2012

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

Ответы [ 5 ]

20 голосов
/ 19 марта 2012

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

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

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

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

6 голосов
/ 29 августа 2013

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

  1. Щелкните правой кнопкой мыши на обозревателе решений.
  2. Добавить новый элемент -> Файл класса.
  3. Имяфайл в качестве имени вашего aspx, например: Default.aspx.cs
  4. Когда он спросит вас, файл должен быть в app_code, нажмите «нет».
  5. В вашем aspx на страницеатрибут add

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

    //all namespaces go here
    
    
    public partial class Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
    
3 голосов
/ 06 января 2014

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

2 голосов
/ 14 декабря 2016

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

  1. Выгрузить проект
  2. Редактировать проект
  3. Найдите новое имя файла (file.aspx.cs) в разделе с файлами.
  4. Добавить узел xml для DependentUpon.
  5. Сохранить и закрыть проект
  6. Перезагрузить проект

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

<Compile Include="Profile.aspx.cs">
  <DependentUpon>Profile.aspx</DependentUpon>
  <SubType>ASPXCodeBehind</SubType>
</Compile>
0 голосов
/ 13 мая 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...