C# 从asp.net创建和运行客户端脚本

C# 从asp.net创建和运行客户端脚本,c#,asp.net,C#,Asp.net,我想创建一个这样的脚本:(下面是attemp) protectedvoid txtPassword\u TextChanged(对象发送方,事件参数e) { 脚本=”; 脚本+=“函数showmsg(){”; 脚本+=“$('#msg')。向下滑动('normal');”; script+=“$('#msg span').addClass('message');”; 脚本+=“setTimeout('showmsg',100);”; 脚本+=“}”; 脚本+=“”; RegisterClient

我想创建一个这样的脚本:(下面是attemp)

protectedvoid txtPassword\u TextChanged(对象发送方,事件参数e)
{
脚本=”;
脚本+=“函数showmsg(){”;
脚本+=“$('#msg')。向下滑动('normal');”;
script+=“$('#msg span').addClass('message');”;
脚本+=“setTimeout('showmsg',100);”;
脚本+=“}”;
脚本+=“”;
RegisterClientScriptBlock(this.GetType(),“ShowMessage”,script);
}

我的错在哪里?为什么没有跑步

假定脚本现在是页面的一部分,则需要调用函数
showmsg()

<script type="text/javascript">
$(function() {
    showmsg();
    });
</script>

$(函数(){
showmsg();
});

由于您使用的是jQuery,因此应该执行
showmsg
函数中的代码。

不需要以这种方式在代码中注册脚本。您可以使用javascript/jquery简单地检查文本框文本中的更改

因为您使用的是jquery,所以在检测textbox文本更改中的更改时,change()事件与standart JavaScript中的工作方式不同

看看这个链接,类似的问题已经得到了解答


希望这有帮助。

您不需要注册脚本。只需执行以下操作即可在客户端处理更改事件:

$(document).ready(function() {
  $('#<%= txtPassword.ClientID %>').change(function() {
     alert('Handler for .change() called.');
  });
});
$(文档).ready(函数(){
$('#')。更改(函数(){
警报('调用了.change()的处理程序');
});
});
您可以使用控件的ClientID属性通过jQuery查找它并订阅更改事件


希望有帮助

似乎您正在使用一些jquery标记来应用一些动画,请记住,使用jquery必须在操作DOM之前加载文档

$(文档).ready(函数() {

//你的剧本


}))

好像你忘了说你的脚本是一个字符串,它应该是这样工作的

 protected void txtPassword_TextChanged(object sender, EventArgs e)
    {
            string script  =  "<script type='text/javascript'>";
            script += "function showmsg(){";
            script += "$('#msg').slideDown('normal');";
            script += "$('#msg span').addClass('message');";
            script += "setTimeout('showmsg',100);";
            script += "}";
            script += "</script>";
            ClientScript.RegisterClientScriptBlock(this.GetType(), "ShowMessage",script);
    }
protectedvoid txtPassword\u TextChanged(对象发送方,事件参数e)
{
字符串脚本=”;
脚本+=“函数showmsg(){”;
脚本+=“$('#msg')。向下滑动('normal');”;
script+=“$('#msg span').addClass('message');”;
脚本+=“setTimeout('showmsg',100);”;
脚本+=“}”;
脚本+=“”;
RegisterClientScriptBlock(this.GetType(),“ShowMessage”,script);
}

您已经注册了脚本,但在何处/何时调用showmsg()方法???如何在文本\u更改或文本框\u模糊中运行该脚本?为什么注册代码,在加载或单击事件中运行,而不是在文本\u更改中运行????
 protected void txtPassword_TextChanged(object sender, EventArgs e)
    {
            string script  =  "<script type='text/javascript'>";
            script += "function showmsg(){";
            script += "$('#msg').slideDown('normal');";
            script += "$('#msg span').addClass('message');";
            script += "setTimeout('showmsg',100);";
            script += "}";
            script += "</script>";
            ClientScript.RegisterClientScriptBlock(this.GetType(), "ShowMessage",script);
    }