注册 登录
编程论坛 ASP.NET技术论坛

一个很困扰人的问题!

heyongzhi 发布于 2007-03-29 22:09, 562 次点击

记得有本书上说.NET 最好使用后代码来写程序,少用象ASP一样的脚本代码块,但是实际上感觉很多地方用后代码缺乏弹性,不象脚本代码块灵活.如(ASP.NET技术内幕中的实例):

<script runat ="server">
sub button_command(s as object,e as commandeventargs)
dim intamount as integer
intamount=e.commandargument
if e.commandname="add" then
lb.text += intamount
else
lb.text -= intamount
end if
end sub
</script>

<html>
<head>
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lb" runat="server"></asp:Label>
<asp:Button ID="Button1" runat="server" CommandArgument="10" CommandName="aee" Text="Button" />
<asp:Button ID="Button2" runat="server" CommandArgument="5" CommandName="add" Text="Button" />

</div>
</form>
</body>
</html>
实际就是一个COMMAND事件,判断点击的是哪一个命令按钮(直接复制到ASP.NET2.0中无法执行).这种判断在后代码怎么写??想了半天没想通,谁知道啊???

7 回复
#2
heyongzhi2007-03-29 22:30

不好意思,代码发漏:
<script runat ="server">
sub button_command(s as object,e as commandeventargs)
Dim inta As Integer
inta = e.CommandArgument
if e.commandname="add" then
lb.Text += inta
else
lb.Text -= inta
end if
end sub
</script>

<html>
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lb" runat="server">1</asp:Label>
<asp:Button ID="Button1" runat="server" CommandArgument="10" CommandName="aee" Text="Button" OnCommand ="button_command" />
<asp:Button ID="Button2" runat="server" CommandArgument="5" CommandName="add" Text="Button" OnCommand ="button_command"/>

</div>
</form>
</body>
</html>

#3
windstores2007-03-29 23:48

什么问题?没搞明白

#4
arlene2007-03-30 10:43
偶也不知道他到底在说什么?
#5
卡洛2007-03-30 10:49
VB的我也不清楚。
如果是C#的话。就在后台创建一个button的click事件
然后在页面的OnClick事件中调用就可以了
#6
skyland842007-03-30 11:02

照样写咯!你把 你把一个 按钮单击事件 指向 两个按钮事件!

然后在那个事件里判断 是哪个按钮 然后怎么处理!
同你 VB 代码那样 不就可以了!?

#7
冰镇柠檬汁儿2007-03-30 11:11
以下是引用heyongzhi在2007-3-29 22:09:23的发言:

这种判断在后代码怎么写??想了半天没想通

很简单,在设计页面中双击按钮,看.NET自动给你创建的文件,你就明白了,你写的那些Script代码很不安全,影响保密性,应该写到后台代码中

#8
heyongzhi2007-03-30 22:58
问题差不多解决了,其实意思就是在后代码中没有ONCOMMAND\ONCLICK方法,在代码中怎样让多个事件共用一个过程.
原来是事件后跟的参数没用好(VB.NET跟VB6.0不一样),不过现在又有两个小问题请教:1.如果是CLICK事件,在被调用过程中用sender.id判断哪个按钮被点击最合理吗?
2.是否必须都是一样的事件,被调用过程才能处理?
1