События стреляют только на определенных машинах, но не на других - PullRequest
0 голосов
/ 10 ноября 2010

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

    <%@ 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), он работал независимо от размещения формы на двух машинах и был подвержен размещению формы на двух других.

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

1 Ответ

0 голосов
/ 10 ноября 2010

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

Если вам нужна другая форма, поместите ее за пределы- выше этого, в частности.Это действительно.

...