2010-11-10 3 views
0

Я пытаюсь решить эту проблему в течение нескольких недель, и это действительно расстраивает. В основном у меня есть простой проект, который включает одну главную страницу и одну страницу контента. следующий код - это то, что находится на странице содержанияСобытия только стрельбы на определенных машинах, но не на других

<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
    <asp:Button ID="Button1" runat="server" Text="ButtonContent" 
     onclick="Button1_Click" /> 
</asp:Content> 

Кнопка привязана к простому событию. Точка прерывания установлена ​​для определения того, было ли событие запущено, как ожидалось. Событие не срабатывает, когда форма размещается над держателем содержимого.

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <asp:ContentPlaceHolder id="head" runat="server"> 
    </asp:ContentPlaceHolder> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
    <form></form> 
    </div> 

    <div> 
     <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server"> 

     </asp:ContentPlaceHolder> 
    </div> 

    <div> 


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

однако событие увольняется, когда форма удаляется или помещается под держателем содержимого. С другой стороны, на некоторых машинах я обнаружил, что не имеет значения, размещена ли форма до владельца места содержания. Я пробовал этот проект на 4 машинах (три окна 7 и один xp), он работал независимо от размещения формы на двух машинах и был подвержен установке формы на двух других.

Может кто-нибудь, пожалуйста, укажите мне некоторые настройки, которые могут решить эту проблему или предложить какие-либо советы для решения моей проблемы. Мне нужна форма перед владельцем содержимого, поэтому удаление не может быть и речи. Было бы также разумным, что какая-то настройка препятствует правильной работе проекта на другом компьютере

ответ

0

по спецификации HTML, вы не можете иметь форму внутри формы. Если я правильно помню, некоторые браузеры ломаются, когда у вас есть такая структура. Я думаю, что IE работает нормально.

Если вам нужна другая форма, поставьте ее за пределами формы < id = "form1" runat = "server" > - над ним, в частности. Это верно.

+0

Я пробовал это на IE, Chrome и Mozilla. Все они выполняют точно так же на каждой машине ... они либо работают, либо нет. Это заставляет меня думать, что проблема не связана с браузером, а с некоторыми конкретными настройками машины. –

+0

Почему вы не можете просто исправить HTML и сделать его действительным? Тогда вы можете посмотреть на другие вопросы. – Artemiy

+0

Когда вы скажете, исправить html, что вы имеете в виду именно? Я расстроен, однако, что решение работает одним способом на одной машине и другим способом на другой машине. Вы знаете, что может вызвать такое поведение –