test.aspx.cs public string mystr = "我爱你";
private void Page_Load(object sender, System.EventArgs e)
{
Page.DataBind();
}
public string GetString()
{
return (mystr);
}test.aspx
<script language=javascript>
var aa;
<% mystr="我不爱你" ;%>
aa = '';
aa='<%#GetString()%>'
alert(aa);
aa='<%=GetString()%>'
alert(aa);</script>问题:
<%#GetString()%>, <%=GetString()%> 的结果为什么不一样?如果把Page.DataBind(); 注释掉,那么<%#GetString()%>得不到结果.
在没有任何数据源的情况下, Page.DataBind(); 绑定了什么呢?
private void Page_Load(object sender, System.EventArgs e)
{
Page.DataBind();
}
public string GetString()
{
return (mystr);
}test.aspx
<script language=javascript>
var aa;
<% mystr="我不爱你" ;%>
aa = '';
aa='<%#GetString()%>'
alert(aa);
aa='<%=GetString()%>'
alert(aa);</script>问题:
<%#GetString()%>, <%=GetString()%> 的结果为什么不一样?如果把Page.DataBind(); 注释掉,那么<%#GetString()%>得不到结果.
在没有任何数据源的情况下, Page.DataBind(); 绑定了什么呢?
<%=GetString()%> 是输出一个结果
var aa;
<% mystr="我不爱你" ;%>
aa = '';
aa='<%=mystr%>';
alert(aa);
<% Page.DataBind(); %>
aa='<%#mystr%>';
alert(aa);
</script>
dataGrid1.DataBind(); 去掉 也看不到结果一样 ---在没有任何数据源的情况下, Page.DataBind(); 绑定了什么呢?它是有数据源的
public string GetString()
{
return (mystr);
}
可是在Page里面没有数据源的情况下绑定到底是怎么绑定的呢??
======================================应该说是绑定的集合里存的是绑定时返回的引用,你可以试下把你的string改成其它的类试试,只要引用不变,你的操作会影响你绑定的结果
var aa;
<% mystr="我不爱你" ;%>
aa = '';
aa='<%=mystr%>'
alert(aa); //我不爱你
aa='<%#mystr%>' ------------绑定
alert(aa);// 我爱你
aa='<%#GetString()%>' ---------- 绑定
alert(aa);//我爱你
<% Page.DataBind(); %>// 不能这样写,即使注释掉也不行
aa='<%=mystr%>'
alert(aa);//我不爱你 aa='<%#mystr%>' ------------- 绑定
alert(aa);//我爱你
aa='<%=GetString()%>' // 这样写是错的..注释掉也没有用
alert(aa);//
不管他们的位置 如何变化 绑定之后的值 和没有绑定的值 输出结果是不一样的
绑定的值 来自页面初始化 .没有绑定的值 来自javaScript 函数
Page.DataBing() 对页面进行绑定.就会 查找页面中所有含有 '<%# %> 符号的表达式,并对他赋值</script>
我试了你的代码 结果和你标注的不一样, 你自己试试.
<% mystr="我不爱你" ;%>
aa = '';
aa='<%=mystr%>'
alert(aa); //我不爱你
aa='<%#mystr%>'
alert(aa);// 我爱你
aa='<%#GetString()%>'
alert(aa);//我爱你
aa='<%=mystr%>'
alert(aa);//我不爱你 aa='<%#mystr%>'
alert(aa);//我爱你
=================================
好好 运行 这几行 代码 结果 就是这个了 你再试试 ...
你没有 发现 后面的语句都不能 执行了码