关于.net与JS如何交互

一,在后置代码中动态生成JavaScript代码的函数: 
       以前在后缀代码中生成javascript代码一直是使用Response.Write来生成,今天看到两个函数,可以让客户端生成Javascript代码,一个是:RegisterClientScriptBlock,另一个是:RegisterStartupScript,两者不同之处在于生成的位置不同,他们都在<Form>与</Form>块之间,但第一个在<Form>之后,第二个是在</Form>之前。两个函数可以配合IsClientScriptBlockRegisteredIsStartupScriptRegistered函数来查看代码块有没有被注册使用。例: 

private void Page_Load(object sender, System.EventArgs e) 
        

            StringBuilder scriptstring 
= new StringBuilder(); 
            scriptstring.Append(
"<script language=javascript>"); 
            scriptstring.Append(
"function Setfirstfocus(){"); 
            scriptstring.Append(
"document.all.name.focus();}"); 
            scriptstring.Append(
"</script>"); 
            
string js = scriptstring.ToString(); 

            Page.RegisterClientScriptBlock(
"Setfirstfocus", js);  
              //Page.RegisterStartupScript("Setfirstfocus",js); 
        }



二,关于ViewState的一些知识点: 
       可以详见http://www.microsoft.com/china/msdn/archives/library/dnaspnet/html/Asp11222001.asp 

三,在客户端获得按键的javascript代码: 
   

<script language="javascript"> 
function  keyDown() 

var keycode
=event.keyCode;                  
var keychar
=String.fromCharCode(keycode);      
alert(
'ASCII='+keycode+'\nKeyChar='+keychar);    
}
 
document.onkeydown
=keyDown;                   
</script>



四,用Enter替代Table健的Javascript代码: 

<script language="javascript"> 
function  keyDown() 

var  keycode
=event.keyCode; 
var  keyChar
=String.fromCharCode(keycode); 
if(keycode==13
event.keyCode=9
}

document.onkeydown
=keyDown; 
 
</script>



五,动态创建控件: 

 
                Label lbl 
= new Label(); 
                lbl.Text 
= "Label" + (i).ToString(); 
                lbl.ID 
= "Label" + (i).ToString(); 
                Panel1.Controls.Add(lbl); 
                Panel1.Controls.Add(
new LiteralControl("<br>"));


LiteralControl可以根据字符串来生成页面的html代码 


六,动态更改Web控件的属性: 
  可以像给控件添加script事件一样为其添加样式属性,如: 
  Button1.Attributes.Add("style","BACKGROUND-COLOR:  #008888");

七、在页面的Javscript代码中清加.net代码
  如,aspx页面有以下控件
   <asp:Literal ID="Literal1" Text="abc" runat="server"></asp:Literal>
我想在下面的JS代码中获得Literal1.Text文字,通过以下方式获得:
<script language="javascript">
    alert("<%=Literal1.Text %>");
</script>

posted on 2014-03-22 13:20  djh-net  阅读(1528)  评论(0编辑  收藏  举报

导航