ScriptManager的几个属性和方法
一、EnablePageMethods
ScriptManager的EnablePageMethods属性用于设定客户端javascript直接调用服务端静态WebMethod
EnablePageMethods.aspx
EnablePageMethods.aspx
<script type="text/javascript">
var txtName;
var lblMsg;
function pageLoad(){
txtName=new Sys.Preview.UI.TextBox($get('txtName'));
lblMsg=new Sys.Preview.UI.Label($get('lblMsg'));
}
function sayHello(){
PageMethods.SayHello(txtName.get_text(),cb_SayHello);
}
function cb_SayHello(result){
lblMsg.set_text(result);
}
</script>
var txtName;
var lblMsg;
function pageLoad(){
txtName=new Sys.Preview.UI.TextBox($get('txtName'));
lblMsg=new Sys.Preview.UI.Label($get('lblMsg'));
}
function sayHello(){
PageMethods.SayHello(txtName.get_text(),cb_SayHello);
}
function cb_SayHello(result){
lblMsg.set_text(result);
}
</script>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
<Scripts>
<asp:ScriptReference Name="PreviewScript.js" Assembly="Microsoft.Web.Preview" />
</Scripts>
</asp:ScriptManager>
<input type="text" id="txtName" />
<input type="button" value="invoke" onclick="sayHello()" />
<div id="lblMsg"></div>
</div>
</form>
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
<Scripts>
<asp:ScriptReference Name="PreviewScript.js" Assembly="Microsoft.Web.Preview" />
</Scripts>
</asp:ScriptManager>
<input type="text" id="txtName" />
<input type="button" value="invoke" onclick="sayHello()" />
<div id="lblMsg"></div>
</div>
</form>
EnablePageMethods.aspx.cs
[System.Web.Services.WebMethod]
public staticString SayHello(string name)
{
return "welcome to site " + name;
}
public staticString SayHello(string name)
{
return "welcome to site " + name;
}
二、EnablePartialRendering
这个属性用来表示是否激活部分生成。部分生成用来只重新加载部分页面。如果为“真”的话,那么异步控件的常规回发就只显示发送给客户端的增量变化。
三、EnableScriptLocalization
這個值表示 ScriptManager控制項是否呈現當地語系化版本的指令碼檔。將 EnableScriptLocalization屬性設定為 true時,ScriptManager物件會擷取目前文化特性的指令碼檔 (如果存在的話)。例如,某個網頁可能會指定名為 CustomScript.js 的指令碼檔。如果文化特性已設定為 fr-CA,則 ScriptManager物件會嘗試擷取名為 CustomScript.fr-CA.js 的指令碼檔
四、EnableScriptGlobalization
该值指示 ScriptManager控件是否呈现支持分析区域性特定的信息并设置其格式的脚本。 EnableScriptGlobalization属性设置为 true时,全球化 ECMAScript (JavaScript) 函数(如 Date.localeFormat方法)会显示区域性特定的信息。可以在浏览器、服务器代码或网站的配置文件中设置区域性。
另外罗列几个用于UpdatePanel的方法:
RegisterArrayDeclaration
创建JavaScript数组
ScriptManager.RegisterArrayDeclaration(UpdatePanel1,"Hello", ,"1,2,3");
RegisterClientScriptBlock
为对象输出一个函数,为true时自动加上<script></script>
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "HelloWorld", "function helloWorld(){alert(1);}", true);
RegisterClientScriptInclude
添加对脚本文件的引用
ScriptManager.RegisterClientScriptInclude(UpdatePanel1,this.GetType(),"HelloWorld",Server.MapPath("test.js"));
RegisterClientScriptResource
访问程序集中的脚本文件
ScriptManager.RegisterClientScriptResource(UpdatePanel1,this.GetType(),"test.js");
RegisterExpandoAttribute
为指定控件添加额外的属性
ScriptManager.RegisterExpandoAttribute(UpdatePanel1,Button1.ClientID,"attributeName","attributeValue",true);
RegisterHiddenField
添加个隐藏值
ScriptManager.RegisterHiddenField(UpdatePanel1, "hiddenFieldName", "hiddenFieldIntialValue");
RegisterOnSubmitStatement
提交的Confirm
ScriptManager.RegisterOnSubmitStatement(UpdatePanel1,this.GetType(),"test", "return window.confirm('test')");
RegisterStartupScript
添加一个最开始运行的脚本
ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(), "HelloWorld", "alert('The page has loaded!')",true);