关于.net与JS如何交互
一,在后置代码中动态生成JavaScript代码的函数:
以前在后缀代码中生成javascript代码一直是使用Response.Write来生成,今天看到两个函数,可以让客户端生成Javascript代码,一个是:RegisterClientScriptBlock,另一个是:RegisterStartupScript,两者不同之处在于生成的位置不同,他们都在<Form>与</Form>块之间,但第一个在<Form>之后,第二个是在</Form>之前。两个函数可以配合IsClientScriptBlockRegistered与IsStartupScriptRegistered函数来查看代码块有没有被注册使用。例:
{
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代码:
function keyDown()
{
var keycode=event.keyCode;
var keychar=String.fromCharCode(keycode);
alert(‘ASCII=‘+keycode+‘\nKeyChar=‘+keychar);
}
document.onkeydown=keyDown;
</script>
四,用Enter替代Table健的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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。