<%@ Page Language="C#" AutoEventWireup="true" CodeFile="testClientID.aspx.cs" Inherits="testClientID" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title> <script type="text/javascript">
alert('<%=GetIsDisplayPrice()%>');
</script> <script type="text/javascript" src="testClient.js"></script></head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class testClientID : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected string GetIsDisplayPrice()
{
return "none";
}
}
js文件
alert('<%=GetIsDisplayPrice()%>');
-----------
如上弹出来的两个测试是不一样的。
第一个因为直接写在aspx里面。他能弹出"none"而在js文件中却弹出了<%=GetIsDisplayPrice()%>字符串。。---
难道这涉及到了什么生命周期的东西?我在应用的时候本来想绑定服务端返回的一个字符串。。但是放在页面上行,而到了js文件中却不行了。。
我把问题简化出来,希望有知道的人讲讲原理
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title> <script type="text/javascript">
alert('<%=GetIsDisplayPrice()%>');
</script> <script type="text/javascript" src="testClient.js"></script></head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class testClientID : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected string GetIsDisplayPrice()
{
return "none";
}
}
js文件
alert('<%=GetIsDisplayPrice()%>');
-----------
如上弹出来的两个测试是不一样的。
第一个因为直接写在aspx里面。他能弹出"none"而在js文件中却弹出了<%=GetIsDisplayPrice()%>字符串。。---
难道这涉及到了什么生命周期的东西?我在应用的时候本来想绑定服务端返回的一个字符串。。但是放在页面上行,而到了js文件中却不行了。。
我把问题简化出来,希望有知道的人讲讲原理
或者一个script标签,只声明一个变量
"<" ,"%","#" 这类的组合使用,,所以你引用外部文件它是不进入 的个人理解 这是样,不知道对不对, 呵呵
JS是可以解析 <%=%>的,但是,我看你的那个东西是一个方法,没有试过,不知道可不可以。
alert('<%=GetIsDisplayPrice()%>');
</script>
不行哦。
-----------------------------这句话是错的
protected string GetIsDisplayPrice()
{
return "none";
}</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script< asdlf alsdfa>
alert('<%=GetIsDisplayPrice()%>');
</script> <<<<<<< AAlert('<%=GetIsDisplayPrice()%>');
>>>>>>> <form id="form1" runat="server">
<asp:Button runat="server" ID="Hello" Text="hi" />
</form>
</body>
</html>asp.net只认字符串,只把你写的js代码与此等同的东西。
<script type="text/javascript" src="testClient.js"></script>这个不仅仅是加载一个字符串的意思吧。如果连接js文件只是加载一句字符串那么他会
alert('<%=GetIsDisplayPrice()%>');
他不写在html里面会报错的吧。js文件里面的
alert('<%=GetIsDisplayPrice()%>');
应该等同于页面上的
<srcipt>
alert('<%=GetIsDisplayPrice()%>');
</script>--
那才是正解吧。。只能说js属于外部文件,他不编译<%%>里面的代码了