Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在ASP.net AJAX中使用Javascript事件_Asp.net_Ajax - Fatal编程技术网

在ASP.net AJAX中使用Javascript事件

在ASP.net AJAX中使用Javascript事件,asp.net,ajax,Asp.net,Ajax,我不敢相信这之前没有被报道过,但我一直很难在谷歌上找到答案 我正在用ASP.NET学习AJAX,我有一个工作原型。我唯一的问题是,我想在JavaScript事件(确切地说是onKeyUp)上启动AJAX验证。然而,ASP.NET似乎只支持其AJAX版本的服务器端事件。如何从客户端事件调用AJAX 谢谢 更新 我只是想补充一点,我确实发现了这个技巧,但这会导致网站进行回发,如果你尝试使用AJAX,这对我来说毫无意义 txtFirstName.Attributes.Add("onKeyUp","__

我不敢相信这之前没有被报道过,但我一直很难在谷歌上找到答案

我正在用ASP.NET学习AJAX,我有一个工作原型。我唯一的问题是,我想在JavaScript事件(确切地说是onKeyUp)上启动AJAX验证。然而,ASP.NET似乎只支持其AJAX版本的服务器端事件。如何从客户端事件调用AJAX

谢谢

更新

我只是想补充一点,我确实发现了这个技巧,但这会导致网站进行回发,如果你尝试使用AJAX,这对我来说毫无意义

txtFirstName.Attributes.Add("onKeyUp","__doPostBack('ctl00_ContentPlaceHolder1_txtFirstName','')");

这听起来像是在做Web表单的工作,您希望在输入某些内容时或至少在他们提交数据后验证这些内容

您可能想看看ASP.NET Ajax工具包。您可以下载.dll并将其添加为对项目的引用


看一看

这听起来像是在做Web表单的工作,您希望在键入某些内容时或至少在他们提交数据后验证这些内容

您可能想看看ASP.NET Ajax工具包。您可以下载.dll并将其添加为对项目的引用

看看

好的,我从w3Schools.com“借用”了这段代码,所以我想给他们评分

<script type="text/javascript">
  function val() {
    var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("spnFirstName").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", "server.aspx", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send();
    //xmlhttp.send("fname=Henry&lname=Ford"); //This is if you want to send values
  }
</script>



First Name: <asp:TextBox ID="txtFirstName" runat="server" OnTextChanged="txtFirstName_TextChanged" AutoPostBack="True" onkeyup="Val()"></asp:TextBox>
<span id="spnFirstName" runat="server" style="color:Red"> </span>

函数val(){
var-xmlhttp;
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“spnFirstName”).innerHTML=xmlhttp.responseText;
}
}
open(“POST”,“server.aspx”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send();
//xmlhttp.send(“fname=Henry&lname=Ford”);//如果要发送值,则使用此选项
}
名字:
Server.aspx是一个空页面,其中只有“Hello”一词。如您所见,我将这个简单的javascript函数绑定到onKeyUp事件。这似乎也不会影响ASP.NET AJAX验证

与添加dll相比,我更喜欢这样做,因为只要我坚持使用核心asp.net产品,我就不必担心其他开发人员必须挖掘他们可能没有的库。

好的,所以我从w3Schools.com“借用”了这段代码,所以我想给他们一些奖励

<script type="text/javascript">
  function val() {
    var xmlhttp;
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("spnFirstName").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", "server.aspx", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send();
    //xmlhttp.send("fname=Henry&lname=Ford"); //This is if you want to send values
  }
</script>



First Name: <asp:TextBox ID="txtFirstName" runat="server" OnTextChanged="txtFirstName_TextChanged" AutoPostBack="True" onkeyup="Val()"></asp:TextBox>
<span id="spnFirstName" runat="server" style="color:Red"> </span>

函数val(){
var-xmlhttp;
if(window.XMLHttpRequest){//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
else{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“spnFirstName”).innerHTML=xmlhttp.responseText;
}
}
open(“POST”,“server.aspx”,true);
setRequestHeader(“内容类型”,“应用程序/x-www-form-urlencoded”);
xmlhttp.send();
//xmlhttp.send(“fname=Henry&lname=Ford”);//如果要发送值,则使用此选项
}
名字:
Server.aspx是一个空页面,其中只有“Hello”一词。如您所见,我将这个简单的javascript函数绑定到onKeyUp事件。这似乎也不会影响ASP.NET AJAX验证


与添加dll相比,我更喜欢这样做,因为只要我坚持使用核心asp.net产品,我就不必担心其他开发人员必须挖掘他们可能没有的库。

您到底在验证什么?表单字段还是客户端的其他内容?还是验证服务器端AJAX代码传递的数据?也只是好奇;您正在使用MVC应用程序或Web表单吗?我想验证在服务器端的文本框中输入的内容。您到底在验证什么?表单字段还是客户端的其他内容?还是验证服务器端AJAX代码传递的数据?也只是好奇;您是否正在使用MVC应用程序或Web表单?我想验证在服务器端的文本框中输入的内容。如果您不想使用Microsofts toolkit之类的东西,并且想做一些更定制的事情,您可能希望查看UpdatePanel,并更直接地回答您的问题,您发现的“技巧”是正确的。您希望在部分回发而不是完整回发的情况下执行这种操作。我想我找到了更好的方法。我没有做任何形式的回帖,而是在ajax的这一部分中忽略了.NET。我刚刚编写了一个javascript函数来调用服务器端页面进行验证,并将其添加到onkeyUp事件中。我将很快发布一些代码。如果你不想使用Microsofts toolkit的东西,你想做一些更定制的事情,你可能想查看UpdatePanel,并更直接地回答你的问题,你发现的“技巧”是正确的。您希望在部分回发而不是完整回发的情况下执行这种操作。我想我找到了更好的方法。我没有做任何形式的回帖,而是在ajax的这一部分中忽略了.NET。我刚刚编写了一个javascript函数来调用服务器端页面进行验证,并将其添加到onkeyUp事件中。我很快就会发布一些代码。