Прежде всего, идентификаторы управления веб-формами asp.net чувствительны к регистру, поскольку они действуют как идентификаторы доступа к соответствующему серверному элементу управления. Связанный идентификатор клиента html генерируется с использованием логики, которая описана here.
Если я правильно понял, вы развертывали веб-сайт с помощью метода copy-paste вместо публикации. После преобразования вы больше не сможете копировать и вставлять проект, и вы должны публиковать его (так как это веб-приложение)
Причина, по которой вы получаете ошибки во время выполнения, состоит в том, что у вас есть много кода за указателями страниц, которые указывают к тому же частичному классу. Чтобы дать вам идею, скажите, что у вас есть PageA.aspx
и PageB.aspx
. В вашем проекте должны быть два разных класса: Partial Class PageA
и Partial Class PageB
. Вы должны проверить все директивы своей страницы, чтобы указать правильный код за файлом, который должен указывать на правильный файл и класс.
Пример:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageA.aspx.cs"
Inherits="PageA" %>
и
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageB.aspx.cs"
Inherits="PageB" %>
Когда веб-сайт развернут на сервере в целом проекта копирования и вставки, это не влияет на время выполнения, поскольку каждая страница компилируется exmplicitly ,
При развертывании опубликованного веб-приложения все библиотеки существуют в папке bin, поэтому внутри созданных файлов библиотек существуют неоднозначные определения. Таким образом, во время выполнения вы получаете эту ошибку.
Надеюсь, это решит вашу проблему.
C# и javascript чувствительны к регистру независимо от типа приложения. Вы уверены, что это проблема? – CodingYoshi
Да. Я просто эту проблему в своем приложении. Я выяснил ошибку на одной странице, но это может происходить на нескольких страницах. Вот пример моего случая: 2 раза определенный литерал asp: Literal> asp: Литерал>. он не дает никакой ошибки, но когда я запустил и запустил эту страницу, она дает ошибку –
MonsterMMORPG
Возможно, вам стоит сделать так, чтобы у вас не было противоречивых имен. – mason