AJAX / ASP.NET проблема - PullRequest
       5

AJAX / ASP.NET проблема

0 голосов
/ 10 марта 2012

У меня странная проблема, которая, вероятно, проста, вот код

js файл

    function visitorAction(firstnm,lastnm)
{

    var xmlhttp;


    xmlhttp=new XMLHttpRequest();


   xmlhttp.onreadystatechange=function()
   {
    if(xmlhttp.readyState==4 && xmlhttp.status==200)
        {
           document.getElementById('placeholder').innerHTML=xmlhttp.responseText;

        }

   }

  xmlhttp.open("GET", "Handler1.ashx?firstname="+firstnm+"&lastname="+lastnm, true);
   xmlhttp.send();
}

Моя веб-форма - да, файл js правильно называется

 <form id="form1" runat="server">
    <div>
    <table>
            <tbody>
                <tr>
                    <td>First Name</td>
                    <td><asp:TextBox ID="firstnameTextBox" runat="server"></asp:TextBox></td>
                    <td><asp:RequiredFieldValidator 
                    ID="RequiredFieldValidator1" 
                    runat="server" 
                    ErrorMessage="Fill in your first name"
                    ControlToValidate="firstnameTextBox"></asp:RequiredFieldValidator></td>
                </tr>
                <tr>
                    <td>Last Name</td>
                    <td><asp:TextBox ID="lastnameTextBox" runat="server"></asp:TextBox></td>
                    <td><asp:RequiredFieldValidator 
                        ID="RequiredFieldValidator2" 
                        runat="server" 
                        ErrorMessage="Fill in your last name"
                        ControlToValidate="lastnameTextBox"></asp:RequiredFieldValidator></td>
                </tr>
            </tbody>
        </table>
        <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="return visitorAction('firstnameTextBox','lastnameTextBox');">Login</asp:LinkButton>
        <asp:LinkButton ID="LinkButton2" runat="server" PostBackUrl="Registration.aspx">Register</asp:LinkButton>
    </div>
    <div id = "placeholder">

    </div>

мой обработчик

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace CSC515_Project5_GREGORY
{

    public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {

            context.Response.ContentType = "text/html";
            context.Response.Write("<html>");
            context.Response.Output.WriteLine("hello");
            context.Response.Write("</html>");

        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Моя проблема в том, что эта функция не работает, когда я что-то заполняю в своих полях ввода и нажимаю «Войти» Он должен просто вернуть «привет» для тестирования, но ничего не происходит и не возникает никаких ошибок консоли. Когда я нажимаю «Войти» без заполнения какого-либо поля, он делает то, что должен. что дает?

1 Ответ

2 голосов
/ 10 марта 2012

удалите часть <html> в обработчике. context.Response.Output.WriteLine("hello"); достаточно для вас.см. этот сайт для получения дополнительной информации о как использовать ajax в приложениях asp.net .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...