为什么不可以在后台控件里直接写js代码?

WNASP 2005-03-30 03:42:46
<asp:button id="btnAllPass" runat="server" Text="通过" onclick="alert('adf')"></asp:button>

加 onclick="alert('adf')"就出错了!有什么办法吗?
...全文
146 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
自然框架 2005-03-30
  • 打赏
  • 举报
回复
web控件的onclick 在编译的时候是要找后台的对应的事件的,你没有在后台写,所以会出错。
minghui000 2005-03-30
  • 打赏
  • 举报
回复
帮你顶一下
WNASP 2005-03-30
  • 打赏
  • 举报
回复
补充:
就是不明白“web控件只能调用web程序”这句话是因为:
查看源代码,我发现后台服务器控件被执行后都转换成<input...>然后发送到客户端了,后来我就想为什么把onclick嵌入就出错?也许可能是DOTNET本身转换的时候没有这个语法把?
在后来就想到了HTC,里面不能写咱就把它拿出来吗!
WNASP 2005-03-30
  • 打赏
  • 举报
回复
搂住总结:楼上说得都很有道理
button.Attributes.Add这个办法我知道的
就是不明白“web控件只能调用web程序”这句话
后来发现其实也是可以的,使用HTC
<script language="jscript" event="onclick" for="Button1">
if(!confirm('确认不asdf通过吗')) return false
</script>
然后再执行后台代码也是可以的,我试过了
dhtkhnt 2005-03-30
  • 打赏
  • 举报
回复
因为<asp:button></asp:button>是服务端控件,当然执行的也应该是服务器端方法了
楼上各位说的 button.Attributes.Add就是最好的方法了。
唐伯虎丶秋香 2005-03-30
  • 打赏
  • 举报
回复
要不就写个 js 在onclick中引用js 的alert函数
唐伯虎丶秋香 2005-03-30
  • 打赏
  • 举报
回复
用HTML控件吧
要是用控件信息被拦截的程度会变大的
baobei7758 2005-03-30
  • 打赏
  • 举报
回复
换成客户端按纽
seconder 2005-03-30
  • 打赏
  • 举报
回复
为什么不用HTML控件
seconder 2005-03-30
  • 打赏
  • 举报
回复
web控件只能调用web程序

你应该另写一个函数
protected A()
{
Response.Write("<script language=javascript >alert('adf');</script>");

}
onclick=A()

类似的写法
morality 2005-03-30
  • 打赏
  • 举报
回复
<asp:button id="btnAllPass" runat="server" Text="通过"></asp:button>


你需要注册客户端的 onclick 事件
private void Page_Load(...)
{
if(!IsPostBack)
{
btnAllPass.Attributes.Add("onclick","alert('adf');");
}
}

62,049

社区成员

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

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

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

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