asp.net和javascript怎样结合

singer_101 2005-03-17 04:12:21
原先asp程序时asp和javascript做的,现在换asp.net
<script type="text/javascript">
<%
for i=1 to 10
%>
d.add(i,'aa','Userlist.aspx?did=<%=i%>','提示信息','');
<%
next
%>
</script>

是个循环,现在用c#怎么写?
...全文
208 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveCherry 2005-03-18
  • 打赏
  • 举报
回复
动态加载一些script
一般来说有三种情况
(1)在前台放置<asp:Literal Runat="server"></asp:Literal>指定位置输出
(2)后台通过RegisterStartupScript和RegisterClientScriptBlock输出
(3)Response.Write输出
举例如下
(1)
前台
<asp:Literal ID="myLiteral" Runat="server"></asp:Literal>
后台
this.myLiteral.Text+="<script>alert('test');</script>";
查看源代码可以看到原来的
<asp:Literal ID="myLiteral" Runat="server"></asp:Literal>
位置变成了
<script>alert('test');</script>
(2)
为了更加清楚看到两个的区别,前台如下
<form id="Form1" method="post" runat="server">
<input type="hidden" value="test" id="myhiden">
</form>
后台如下
Page.RegisterStartupScript("","<script>alert('RegisterStartupScript:'+document.all.myhiden.value)</script>");
Page.RegisterClientScriptBlock("","<script>alert('RegisterClientScriptBlock:'+document.all.myhiden.value)</script>");
结果如下:只出现对话框显示RegisterStartupScript:test
查看源代码如下:
<form name="Form1" method="post" action="WebForm4.aspx" id="Form1">
<input type="hidden" name="__VIEWSTATE" value="dDwtNjU0MzcyMTk1Ozs+NmbLf6dWkF/Q/FLKKsdPPfhFXr0=" />
<script>alert('RegisterClientScriptBlock:'+document.all.myhiden.value)</script>
<input type="hidden" value="test" id="myhiden">
<script>alert('RegisterStartupScript:'+document.all.myhiden.value)</script>
</form>
两者区别不用多说了吧
(3)
我们再加一句Response.Write("test")
查看源代码发现test字样出现在最前面
test
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
用它来输出转向代码比较合适
<script>location.href='page.aspx'</script>

最后在提醒一下大家,有很多人在给一个控件加js代码的时候会这么写:
this.mybody.Attributes["onclick"]="<script>alert('test');</script>";
这么写是不对的
应该是
this.mybody.Attributes["onclick"]="alert('test');";
比如你在前台书写<a onclick=>的时候你会写<a onclick='<script>alert('test')<script>'>吗?
道理是一样的!
但是相反,有的人在
Page.RegisterStartupScript("","<script>alert('test');</script>");的时候不写里面的<script>也是不行的
(虽然名字叫Register...Script)

zipo 2005-03-18
  • 打赏
  • 举报
回复
Page.RegisterClientScriptBlock和Page.RegisterStartupScript也可以
minghui000 2005-03-17
  • 打赏
  • 举报
回复
关注
sammycheng 2005-03-17
  • 打赏
  • 举报
回复
这样写 应该还是可以编译的
不过不推荐
~~~~~~~~~~~~~~~~~~
那要怎样写才是最好的?我现在也是这样写
yangzhixue 2005-03-17
  • 打赏
  • 举报
回复
学习
lovelxj 2005-03-17
  • 打赏
  • 举报
回复
这样写 应该还是可以编译的
不过不推荐
zhangqiushui 2005-03-17
  • 打赏
  • 举报
回复
ding
deepsen 2005-03-17
  • 打赏
  • 举报
回复
Page.RegisterClientScriptBlock和Page.RegisterStartupScript也可以
ziyan0218 2005-03-17
  • 打赏
  • 举报
回复
http://www.wrclub.net/study/listarticle.aspx?id=2621
孟子E章 2005-03-17
  • 打赏
  • 举报
回复
Page.RegisterClientScriptBlock和Page.RegisterStartupScript也可以
luckyprg 2005-03-17
  • 打赏
  • 举报
回复
在.cs中循环,用Response.Write();写。

62,243

社区成员

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

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

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

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