Реализована главная страница на моем сайте, и теперь формы не работают - PullRequest
1 голос
/ 17 июня 2011

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

главная страница:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="WebSite.master.cs" Inherits="WebSite.WebSite" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title><asp:ContentPlaceHolder ID="titleContent" runat="server" /></title>
    <link href="Resources/css/styles.css" rel="stylesheet" type="text/css" />
    <link href="Resources/css/jqModal.css" rel="stylesheet" type="text/css" />
    <link href="Resources/css/boxy.css" rel="stylesheet" type="text/css" />
    <link href="Resources/css/form.css" rel="stylesheet" type="text/css" />
    <script src="Resources/js/swfobject.js" type="text/javascript" > </script>
    <script src="Resources/js/jquery-1.3.2.min.js" type="text/javascript" > </script>
    <script src="Resources/js/jqModal.js" type="text/javascript"> </script>
    <script src="Resources/js/soundmanager.js" type="text/javascript" > </script>
    <script src="Resources/js/JScriptFunctions.js" type="text/javascript" > </script>
    <script src="Resources/js/jquery.boxy.js" type="text/javascript" ></script>
    <script src="Resources/js/styled.js" type="text/javascript" ></script>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form name="aspnetForm" method="post" id="aspnetForm" runat="server">
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    <script type="text/javascript">
    //<![CDATA[
        var theForm = document.forms['aspnetForm'];
        if (!theForm) {
            theForm = document.aspnetForm;
        }
        function __doPostBack(eventTarget, eventArgument) {
            if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
                theForm.__EVENTTARGET.value = eventTarget;
                theForm.__EVENTARGUMENT.value = eventArgument;
                theForm.submit();
            }
        }
    //]]>
    </script>
    <div id="wrapper">
        <div id="animation">
            <div id="ctl00_singleBannerHomePage_pnlFlashContent">
            </div>
            <script language="javascript" type="text/javascript">
                generateBanner(980, 220, 'ctl00_singleBannerHomePage_pnlFlashContent', 'bannersingleBannerHomePage', 'http://www.WebSite.com//Resources//flash/topmenu.swf', '');
            </script>
        </div>
        <div class="banner" style="text-align: center;">
            <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="960" height="120"
                id="logo_250x105" align="middle">
                <param name="movie" value="Resources/flash/banner_960x120.swf">
                <param name="quality" value="high">
                <param name="play" value="true">
                <param name="loop" value="true">
                <param name="wmode" value="transparent">
                <param name="scale" value="showall">
                <param name="menu" value="true">
                <param name="devicefont" value="false">
                <param name="salign" value="">
                <param name="allowScriptAccess" value="sameDomain">
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="Resources/flash/banner_960x120.swf"
                    width="960" height="120">
                    <param name="movie" value="/resources/flash/banner_960x120.swf">
                    <param name="quality" value="high">
                    <param name="play" value="true">
                    <param name="loop" value="true">
                    <param name="wmode" value="transparent">
                    <param name="scale" value="showall">
                    <param name="menu" value="true">
                    <param name="devicefont" value="false">
                    <param name="salign" value="">
                    <param name="allowScriptAccess" value="sameDomain">
                    <!--<![endif]-->
                    <a href="https://www.adobe.com/go/getflash">
                        <img src="Resources/get_flash_player.gif" alt="Get Adobe Flash player">
                    </a>
                    <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
        </div>
    <asp:ContentPlaceHolder ID="Main" runat="server">
    </asp:ContentPlaceHolder>
    <div id="footer">
        <div id="menu_footer">
            <ul>
                <li><a id="ctl01_lnkMenuOption" href="http://www.WebSite.com/">
                    Home</a></li>
                <li class="separator">|</li>
                <li><a id="ctl03_lnkMenuOption" href="http://www.WebSite.com/">
                    Login</a></li>
                <li class="separator">|</li>
                <li><a id="ctl05_lnkMenuOption" href="http://www.WebSite.com/register">
                    Free Register</a></li>
                <li class="separator">|</li>
                <li><a id="ctl07_lnkMenuOption" href="http://www.WebSite.com/how">
                    How Does it work</a></li>
                <li class="separator">|</li>
                <li><a id="ctl15_lnkMenuOption" href="http://www.WebSite.com/winners">
                    Winners List</a></li>
                <li class="separator">|</li>
                <li><a id="ctl17_lnkMenuOption" href="http://www.WebSite.com/myAccount">
                    Members</a></li>
                <li class="separator">|</li>
                <li><a id="ctl19_lnkMenuOption" href="http://www.WebSite.com/">
                    Site Map</a></li>
                <li class="separator">|</li>
                <li><a id="ctl21_lnkMenuOption" href="http://www.WebSite.com/contact">
                    Contact</a></li>
                <li class="separator">|</li>
                <li><a id="ctl23_lnkMenuOption" href="http://www.WebSite.com/terms">
                    Terms & Policy</a></li>
                <li class="separator">|</li>
                <li><a id="ctl25_lnkMenuOption" href="http://www.WebSite.com/about">
                    About</a></li>
            </ul>
            <ul>
                <li><a href="http://www.WebSite.com/" target="_blank">Beta</a></li>
                <li class="separator">|</li>
                <li><a href="http://www.WebSite.com/" target="_blank">Beta</a></li>
                <li class="separator">|</li>
                <li><a href="http://www.WebSite.com/" target="_blank">Beta</a></li>
                <li class="separator">|</li>
                <li><a href="http://www.WebSite.com/" target="_blank">Beta</a></li>
                <li class="separator">|</li>
                <li><a href="http://www.WebSite.com/" target="_blank">Beta</a></li>
                <li class="separator">|</li>
                <li><a href="http://www.WebSite.com/" target="_blank">Beta</a></li>
                <li class="separator">|</li>
                <li>
                    <!-- AddThis Button BEGIN -->
                    <div class="addthis_toolbox addthis_default_style ">
                    <a class="addthis_button_facebook_like" addthis:url="http://www.facebook.com/pages/WebSite/187442987973985" ></a>
                    <a class="addthis_button_tweet" addthis:url="http://www.WebSite.com/" ></a>
                    <a class="addthis_counter addthis_pill_style" addthis:url="http://www.WebSite.com/" ></a>
                    </div>
                    <script type="text/javascript">                     var addthis_config = { "data_track_clickback": true };</script>
                    <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=danpe"></script>
                    <!-- AddThis Button END -->
                </li>
                <li class="separator">|</li>
                <li><a href="http://www.WebSite.com/" target="_blank">WebSite © 2011</a></li>
            </ul>
        </div>
    </div>
    <object type="application/x-shockwave-flash" id="flashAlert" name="flashAlert" data="Resources/flash/AlertPlayer.swf"
        width="1" height="1">
    </object>
    </form>
    <script type="text/javascript">
        $(document).ready(function () {
            $('#adscaptcha_facebook_like_holder').remove();
            $('#adscaptcha_buttons_holder').remove();
            $('#adscaptcha_r4').remove();
        });
    </script>
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-23547527-1']);
        _gaq.push(['_setDomainName', '.WebSite.com']);
        _gaq.push(['_trackPageview']);

        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();
    </script>
</body>
</html>

default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="Default" MasterPageFile="~/WebSite.Master" Title="" %>

<asp:Content ID="ContentTitle" ContentPlaceHolderID="titleContent" Runat="Server">
    WebSite!
</asp:Content>

<asp:Content ID="ContentHead" ContentPlaceHolderID="head" Runat="Server">
    <meta name="AUTHOR" content="WebSite.com"> 
    <meta name="CLASSIFACTION" content="auction, auctions"> 
    <meta name="RATING" content="GENERAL"> 
    <meta name="DISTRIBUTION" content="GLOBAL"> 
    <meta name="REVISIT" content="1 DAYS"> 
    <meta name="ROBOTS" content="INDEX,FOLLOW">
    <meta property="og:title" content="WebSite! - SecondLife Auctions" />
    <meta property="og:site_name" content="WebSite" />
    <meta property="og:image" content="hhttp://www.WebSite.com/Resources/images/logo.png" />
    <meta property="og:url" content="http://www.WebSite.com/" />
    <meta property="fb:admins" content="1277633739" />
    <link rel="image_src" href="http://www.WebSite.com/Resources/images/logo.png" />
    <link rel="SHORTCUT ICON" href="http://www.WebSite.com/WebSite.ico" />
    <script type="text/javascript">
        function alertMe(message) {
            var options = $.extend({ title: "Information" }, options || {});
            var dialog = new Boxy("<div><p>" + message + "<a href='#' onclick='Boxy.get(this).hide(); return false'>Close me!</a></p></div>", options);
            allDialogs.push(dialog);
            return false;
        }
    </script>
    <script type="text/javascript">
        var message = "Impossible Action";
        function clickIE() { if (document.all) { return false; } }
        function clickNS(e) {
            if
        (document.layers || (document.getElementById && !document.all)) {
                if (e.which == 2 || e.which == 3) { return false; }
            }
        }
        if (document.layers)
        { document.captureEvents(Event.MOUSEDOWN); document.onmousedown = clickNS; }
        else { document.onmouseup = clickNS; document.oncontextmenu = clickIE; }
        document.oncontextmenu = new Function("return false")
    </script>
    <style type="text/css" media="screen">
        #ctl00_singleBannerHomePage_pnlFlashContent
        {
            visibility: hidden;
        }
    </style>
</asp:Content>
<asp:Content ID="ContentMain" ContentPlaceHolderID="Main" Runat="Server" >
    <div id="content">
        <div class="sign-in-home">
            <div class="login-form-home">
                <% Response.Write(LoginPanel()); %>
                <input type="submit" name="cmdLogin" value="Login" id="cmdLogin" class="red-button" tabindex="3" runat="server" />
            </div>
        </div>
        <div class="login-text-home"></div>
    </div>
    <div class="sort-by-home">
        <% Response.Write(SortPanel()); %>
    </div>
    <% Response.Write(Auctions()); %>
    <script type="text/javascript">
        $(document).ready(function () {
            startAuctionsServiceHomePage();
        });
    </script>
</asp:content>

default.aspx.cs

protected void Page_Load(object sender, EventArgs e)
{
    Response.Write("Page_Load");
    if (Request.Form["cmdLogin"] != null && Request.Form["cmdLogin"] != "")
    {
        Response.Write("cmdLogin");
    }
}

Проблема в том, что Respone.Write ("cmdLogin");не отображается , и раньше он появлялся до того, как у меня появилась мастер-страница.

Ответы [ 5 ]

3 голосов
/ 17 июня 2011

Даже когда вы используете главную страницу, вы все равно получаете только одну разметку. Посмотрите на это так:

Мастер-страница:

<html>
<head>
</head>
<body>
<form method='POST' action='index.aspx'>

<placeholder>

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

WebForm:

<content>
<input type='text' value='hello' />
<input type='submit' value='Submit' />
</content>

Выходная разметка

<html>
<head>
</head>
<body>
<form method='POST' action='index.aspx'>

<input type='text' value='hello' />
<input type='submit' value='Submit' />

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

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

Редактировать

Воспользуйтесь преимуществами ООП, доступного в C # - Создайте объект Button и добавьте его на страницу. У вас всегда будет ссылка на это таким образом. Не пишите в ответ в asp.Net

2 голосов
/ 17 июня 2011

@ Danpe - вы смотрели на исходный код страницы, который отображается перед нажатием кнопки cmdLogin?Поместили ли вы точку останова в page_load, чтобы увидеть, каково значение Request.Form ["cmdLogin"]?

Если вы не используете Framework 4 и механизм статического идентификатора элемента управления, идентификатор / имя кнопки cmdLogin фактически не будет «cmdLogin», а скорее будет измененным именем, чтобы гарантировать, что идентификатор не конфликтует с другими элементами управления встраница.Я полагаю, что это стандартное поведение ASP.Net с момента его создания.

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

1 голос
/ 17 июня 2011

Изменить это:

<input type="submit" name="cmdLogin" value="Login" id="cmdLogin" class="red-button" tabindex="3" runat="server" />

к этому:

<asp:Button id="cmdLogin" Text="Login" CSSClass="red-button" tabindex="3" runat="server" />

и затем в файле .cs вы можете получить доступ к кнопке:

cmdLogin.Text = "newText";

Редактировать

добавить это в тег asp: Button

OnClick="ClickedFunction"

OR

добавить это в файл .cs:

protected override void onInit(EventArgs e)
{
    cmdLogin.Click += new EventHandler(cmdLogin_click);
}

void cmdLogin_click(object sender, EventArgs e)
{
    //Code for click here
}
1 голос
/ 17 июня 2011

Переместите объявление формы на главную страницу, что-то вроде:

<body>
    <form id="form1" runat="server">
0 голосов
/ 17 июня 2011

Попробуйте удалить этот блок с главной страницы:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<script type="text/javascript">
//<![CDATA[
    var theForm = document.forms['aspnetForm'];
    if (!theForm) {
        theForm = document.aspnetForm;
    }
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
//]]>
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...