asp.net ajax 脚本注册
ASP.NET 2.0 脚本支持
---- 禁止使用Response.Write方式
---- 使用Framework所支持的方式
·1、RegisterArrayDeclaration
·2、RegisterClientScriptBlock
·3、RegisterClientScriptInclude
·4、RegisterClientScriptResource
·5、RegisterExpandoAttribute
·6、RegisterHiddenField
·7、RegisterOnSubmitStatement
·8、RegisterStartupScript
一、使用Response.Write方式输出效果
<script>alert('ResponseWriteTest');</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> ClientScriptManager</title>
</head>
二、使用Framework所支持的方式输出效果
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('ResponseWriteTest');</script>");
ClientScriptManager cs = this.ClientScript;
cs.RegisterArrayDeclaration("Hello", "1, 2, 3");
cs.RegisterClientScriptBlock(this.GetType(), "HelloWorld",
"function helloWorld(){alert('RegisterClientScriptBloc_Test');}", true);
cs.RegisterClientScriptInclude("HelloWorld", "HelloWorld.js");
// cs.RegisterClientScriptResource();
cs.RegisterExpandoAttribute(this.Button1.ClientID, "Hello", "World");
cs.RegisterHiddenField("hello", "world");
cs.RegisterOnSubmitStatement(this.GetType(), "HelloWorld", "return window.confirm('Do you really want to submit the form?')");
cs.RegisterStartupScript(this.GetType(), "HelloWorld", "<script>alert('The page has loaded!')</script>");
}
①、RegisterArrayDeclaration方式:
<script type="text/javascript">
<!--
var Hello = new Array(1, 2, 3);
// -->
</script>
②、RegisterClientScriptBlock方式:
<script type="text/javascript">
<!--
function helloWorld()
{
alert('RegisterClientScriptBloc_Test');
}
// -->
</script>
③、RegisterClientScriptInclude方式:
<script src="HelloWorld.js" type="text/javascript">
</script>
④、RegisterClientScriptResource方式:
注:从程序集中获取资源,不做演示。
⑤、RegisterExpandoAttribute方式:
<script type="text/javascript">
<!--
var Button1 = document.all ? document.all["Button1"] : document.getElementById("Button1");
Button1.Hello = "World";
// -->
</script>
⑥、RegisterHiddenField方式:
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION"
value="/wEWAgKA17+vAwKM54rGBguw7/vBM7e+GGhSsdx1i+IZsXbt" />
⑦、RegisterOnSubmitStatement方式:
<input type="submit" name="Button1" value="Button" id="Button1" />
⑧、RegisterStartupScript方式:
<script>
alert('The page has loaded!')
</script>
另外拿添加为例:
通常我们在进行添加操作时,在添加完成后可以做一个提示,比如说“添加已完成,您是否还想继续添加?”;
这样我们还可以去使用RegisterClientScriptBlock方法。
例:
ClientScript.RegisterClientScriptBlock(this.GetType(), "提示信息",
" if( window.confirm('新闻添加成功(*^__^*), 您是否想继续添加?'))"
+ " { window.location.href='NewsEdit.aspx' } "
+ " else { window.location.href='NewsList.aspx' } "
, true);
yes:重新跳到本页,之前写的自然就清空掉了。
no: 返回列表页面。