2014-10-07 2 views
0

У меня есть главная страница, содержащая две кнопки изображения, одну для входа в учетную запись и другую для поиска по сайту. На прилагаемой странице aspx содержится форма запроса для некоторых freebees с кнопкой отправки. Все кнопки имеют события кликов, которые запускают разные сценарии, а затем перенаправляют их на соответствующие страницы. Мастер-кнопки не конфликтуют друг с другом. Поиск выполняет поиск, и логин выполняет вход в систему. Однако, когда страница, содержащая форму запроса, загружается на главную страницу, она накладывает свой URL-адрес на кнопки главной страницы, вызывая обратную передачу для формы запроса с обеих кнопок. Я знаю, что это известная проблема с .NET, чтобы вся страница была веб-формой. Я установил UseSubmitBehavior для False на всех, надеясь, что события щелчка будут иметь приоритет, но никаких изменений. У кого-нибудь есть идея, как остановить кнопку отправки от переопределения кнопок изображения? Большое спасибовсе события нажатия кнопок, перезаписанные кнопкой отправки

aspx:Request Form Button 
<asp:Button ID="btSubmit" CssClass="FormBtn" runat="server" Text="Submit" OnClick="btSubmit_Click" 
        OnClientClick="window.scrollTo = function(x,y) { return true; };" 
        value="greaselid" UseSubmitBehavior="False"/> 


CS:Request Form button event 
    protected void btSubmit_Click(object sender, EventArgs e) 
    { 
     var validator = new Recaptcha.RecaptchaValidator 
     { 
      PrivateKey = ConfigurationManager.AppSettings["RecaptchaPrivateKey"], 
      RemoteIP = Request.UserHostAddress, 
      Challenge = Context.Request.Form[RECAPTCHA_CHALLENGE_FIELD], 
      Response = Context.Request.Form[RECAPTCHA_RESPONSE_FIELD] 
     }; 

    //after validation email request is sent and then return to same page 

aspx:Login 
    <div id="logonbox_SB"> 
    <div id="FS_1"> 
     <asp:Label ID="Label1" class="LoginLabel1" runat="server" Text="Account Number"></asp:Label> 
     <asp:TextBox ID="AcctNum" class="AcctNumTexbox" runat="server"></asp:TextBox> 
    </div> 
    <div id="FS_2"> 
     <asp:Label ID="Label2" runat="server" class="LoginLabel2" Text="Access Code"></asp:Label> 
     <asp:TextBox ID="MtrNum" class="MtrNumTexbox" runat="server"></asp:TextBox> 
    </div> 
    <asp:ImageButton ID="Login1" type="submit" runat="server" class="boxsubmitbtn" src="/resources/buttons/login.gif" 
     OnClick="LogInBtn_Click" UseSubmitBehavior="False"/> 
</div> 

    CS:Login 
    protected void LogInBtn_Click(object sender, EventArgs e) 
    { 
     string AcctNbr = AcctNum.Text; 
     Session["AcctNum"] = int.Parse(AcctNbr); 
     string MtrNbr = MtrNum.Text; 
     Session["MtrNum"] = MtrNbr; 

    //account is verified and redirected to user's account page 

    aspx:search 
    <div id="SearchForm"> 

    <asp:TextBox ID="searchQuery" runat="server" size="15" /> 
<asp:ImageButton ID="searchButton" runat="server" Text="GO" src="/RESOURCES/buttons/go_button.gif" value="submit2" style="font-size: 11px;" class="GoButton" alt="Go" OnClick="searchButton_Click" UseSubmitBehavior="False"/> 

    </div> 

    cs:search 
    protected void searchButton_Click(object sender, EventArgs e) 
    { 
     StringBuilder redirectUrl = new StringBuilder(); 
     //The URL to your resultpage 
     redirectUrl.Append("~/about/search_results.aspx"); 
     //Add your CSE unique identifier 
     redirectUrl.Append("?cx='google_account_nbr'%3Aiylaun_ayf0"); 
     //Add your advertising location code 
     //redirectUrl.Append("&cof=FORID%3A11"); 
     //The search query 
     redirectUrl.Append("&q=" + searchQuery.Text); 
     //Redirect to the resultpage 
     Response.Redirect(redirectUrl.ToString()); 
    } 
    //user is redirected to search result page 

ответ

0

Вы можете использовать AJAX для этого. Просто создайте кнопку для отправки данных из первого div на .. где бы вы не захотели отправить информацию. Затем в той же функции вызовите другой AJAX с необходимой информацией. Вы используете jquery или что-то еще? :)

+0

спасибо. нет, не используя jquery –

Смежные вопросы