C# 从asp.net创建和运行客户端脚本
我想创建一个这样的脚本:(下面是attemp)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
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);
}