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);