.Net中前台调用后台的变量和后台使用前台脚本《转》
Net后台调用客户端脚本
Page.Response.Write();
Page.RegisterStartupScript();
Page.RegisterClientScriptBlock();
三者的区别
Response.Write输出后的位置在源文件的第一行.
RegisterStartupScript输出后的位置会在</form>的上一行.
RegisterClientScriptBlock输出后的位置会在<form>的下一行.(在asp.net自带的脚本和一些隐藏域之下).
如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用 RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock或 Response.Write。
protected
void
Page_Load(
object
sender, EventArgs e)
{
string
myScript =
@"alert(document.all.TextBox1.value);"
;
Page.ClientScript.RegisterStartupScript(
this
.GetType(),
"MyScript"
, myScript,
true
);
}
public
static
void
OpenWindowScript(Page pg,
string
url,
string
windowname)
{
string
scriptBlock;
scriptBlock=
"<script language='javascript'>/n"
+
"window.open("
+
"'"
+url+
"','"
+
"windowname"
+
"',"
+
"'toolbar=no,location=no,resizeabel=0,width=400,height=400'"
+
");"
+
"</script>"
;
pg.RegisterClientScriptBlock(
"OpenWindow"
,scriptBlock);
//也有pg.ClientScript.RegisterClientScriptBlock(Tyep type,string key ,string script)
}
Net前台调用后台变量
1.Asp.Net中几种相似的标记符号: < %=...%>< %#... %>< % %>< %@ %>解释及用法
答: < %#... %>: 是在绑定控件DataBind()方法执行时被执行,用于数据绑定
如: < %# Container.DataItem("tit") %>
< %= %>: 在程序执行时被调用,可以显示后台变量值
如:
*.aspx中: < %= aaa %>
*.cs中: protected string aaa="姓名";
< % %>: 内联代码块里面可以在页面文件*.aspx或*.ascx文件里面嵌入后台代码
如:
< %
for(int i=0;i<100;i++)
{
Reaponse.Write(i.ToString());
}
%>
< %@ %>是在*.aspx页面前台代码导入命名空间,
如:
< %@ Import namespace="System.Data"%>