初学者提问,关于<%# %>和<%= %>,请大家帮忙!麻烦高手们也来看看!

lyflying 2004-10-16 07:18:16
.cs里面:public string str="yyy";
Page.DataBind();
.aspx里的javascript中使用<%# str%>或者<%= str%>就可以得到str的值

问题:现在我想在.aspx引用的.js文件中使用<%# str%>或者<%= str%>来得到str的值,可是在.js文件中使用<%# str%>或者<%= str%>就会报错:语法错误

我觉得很奇怪,在前台.aspx的javascript中使用<%# str%>或者<%= str%>就没问题,怎么一在.js文件中使用就是不行呢?
以前做asp时,在asp引用的js文件中使用<%= str%>是可以的阿!

请大家指点一下!最好能够解释说明一下错误的原因以及解决的办法!谢谢!
...全文
282 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
ncowboy 2004-10-17
  • 打赏
  • 举报
回复
//这个问题分不多,但是能得到大家的热心帮助,我很感动,真的!
//这也说明了大家不是为分来的,而且为了学习、帮助他人!
//再次感谢各位的帮助!!!!!

a,
这点点分,大家就抢成这个样子。说明当前已经进入一个分荒的年代。
b,
//而且为了学习、帮助他人!
而且是为了惩前毖后、治病救人!

^_^。
lyflying 2004-10-16
  • 打赏
  • 举报
回复
这个问题分不多,但是能得到大家的热心帮助,我很感动,真的!
这也说明了大家不是为分来的,而且为了学习、帮助他人!
再次感谢各位的帮助!!!!!

lyflying 2004-10-16
  • 打赏
  • 举报
回复
loneghost(菜菜) 有什么不明白吗?
lyflying 2004-10-16
  • 打赏
  • 举报
回复
在各位的帮助之下,我的问题得到了圆满的解决!

我要多谢saucer(思归)、xiahouwen(活靶子.NET)、ncowboy的大力帮助!

我总结一下解决办法:
办法1: 把js文件改扩展名为aspx,页面类包含该js的aspx对于的后台代码(最简单的办法)
办法2: javascript函数参数的形式传递要传递的值!

可以结贴了!!!
loneghost 2004-10-16
  • 打赏
  • 举报
回复
你忘了一件事情了
既然解决了
那么你应该贴出你的解决方法来,大家学习学习
而不是一句 "问题解决了,多谢"

saucer 2004-10-16
  • 打赏
  • 举报
回复
show your asp.net code, or do this:

string s = String.Format("javascript:bb_sjly_onload('{0}','{1}','{2}' ,'{3}' ,'{4}' ,'{5}' ,'{6}' ,'{7}' );", var1,var2,var3, var4, var5, var6,var7, var8);
...
活靶子哥哥 2004-10-16
  • 打赏
  • 举报
回复

试试这样,我现在在家 没有环境测试

假设你的页面是AAA.ASPX
其中<%@Page ....inherts="xxx.xxx.AAA" %>
在AAA.ASPX.CS中类名称是
namespace xxx.xxx{
class AAA{
....
}
}
那么把你的js假设叫 bbb.js 改成bbb.aspx
然后
bbb.aspx中第一行加入
<%@Page ....inherts="xxx.xxx.AAA" %>
然后你的AAA.ASPX的html内

<script language="javascript" type="text/js" src="bbb.aspx"></script>

你试一下,按照原理应该可以的
我现在没有环境测试

lyflying 2004-10-16
  • 打赏
  • 举报
回复
参数为空的问题解决了,多谢 思归大哥!!!
lyflying 2004-10-16
  • 打赏
  • 举报
回复
请思归 大哥 看看下面的代码:
这是asp.net报错时指向的代码行!报错: 语法错误
<body onload='javascript:bb_sjly_onload(2,2, , , , , , );'>

我想是由于有为空的参数,才报错!
这些参数我都要传到js函数中!
不知道怎么解决这个错误!
lyflying 2004-10-16
  • 打赏
  • 举报
回复
xiahouwen(活靶子.NET) 的办法好!
厉害!!!
saucer 2004-10-16
  • 打赏
  • 举报
回复
>>javascript函数参数的形式传递时,如果有参数为空时,就会报错:

取决于你的数据类型,但一般而言,你总可以把数值放在括号里的,这样即使是空,
你也有一个变量存在,

"somejsfunc('" + YourValue + "','" + YourValue2 + "');"

或者使用可变参数的方式来传递参数

function somejsfunc()
{
for (var i=0; i < arguments.length; i++)
alert(arguments[i]);
}
lyflying 2004-10-16
  • 打赏
  • 举报
回复
参数通过javascript函数参数的形式传递时,如果有参数为空时,就会报错:
语法错误

怎么解决阿???
benben0443 2004-10-16
  • 打赏
  • 举报
回复
客户端和服务器端的问题
JS是在客户端执行的, 所以如果你写一个JS 里面插放asp 中者asp.net 的代码
这是不行的。
因为根本就得不到执行,原版地发给IE

可以换个方法嘛,
写个子程序, 或函数, 包含进来, 然后调用,
活靶子哥哥 2004-10-16
  • 打赏
  • 举报
回复
把你的js文件改扩展名为aspx
页面类从你要包含该js的aspx对于的后台代码
leezjs 2004-10-16
  • 打赏
  • 举报
回复
帮你顶吧.
有思归大哥在,就不用我们说话了吧
ncowboy 2004-10-16
  • 打赏
  • 举报
回复
toolbarButtonYahooSmileys.ScriptBlock=@"
function ShowPopup()
{
var oPopup = window.createPopup();
var oPopBody = oPopup.document.body;
oPopBody.style.backgroundColor = ""lightyellow"";
oPopBody.style.border = ""solid black 1px"";
oPopBody.innerHTML = """
+innerHTML
+@""";


是把这段js代码赋给toolbarButtonYahooSmileys的ScriptBlock属性。
minghui000 2004-10-16
  • 打赏
  • 举报
回复
up
lyflying 2004-10-16
  • 打赏
  • 举报
回复
多谢了!
lyflying 2004-10-16
  • 打赏
  • 举报
回复
在问一下:
参数通过函数参数的形式传递时,如果有参数为空时,就会报错:
语法错误

怎么办?
lyflying 2004-10-16
  • 打赏
  • 举报
回复
toolbarButtonYahooSmileys.ScriptBlock=@"
是什么意思?
加载更多回复(19)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧