.net里怎么判断页面的请求到底是由哪个按钮触发的?

我想在页面加载Page_Load(objectsender,EventArgse)的事件里去运行一个判断方法,这个方法的返回一个int型的flag,如果是button1按... 我想在页面加载Page_Load(object sender, EventArgs e) 的事件里去运行一个判断方法,这个方法的返回一个int型的flag,如果是button1按钮触发的请求,那在这个判断方法里就把flag=1,如果是button2就把flag=2。。。这样类推,所以现在想请教下这个判断方法的if该怎么写才能得到我想要的这个flag!

如果谁给的方法可行的话再加20分!!
第一个方法的话。。。。我觉得可能行不通吧。
因为页面在初始化的时候肯定是先运行Page_Load(object sender, EventArgs e) 事件,所以这样一来那个viewstate的值可能就读不到!

第二个中,我现在用的就是2.0,只是看了后还是不知道该怎么做!能再具体点么?这里再补充一点,我在页面上用的是<asp:Button>这个组件.没有用html的那个button

回答2楼的,因为点击事件的执行顺序在Page_Load事件之后,而我想在页面初始化的时候就要得到这个参数

我已经用JS解决了,这个分我很想给你们三个人平分,可惜BD还没有这样的功能,没办法,只能看谁的内容多给谁了
展开
 我来答
chenbiaohan
2008-08-04 · TA获得超过1260个赞
知道小有建树答主
回答量:683
采纳率:0%
帮助的人:326万
展开全部
第一种可以运用再其他处理过程中,不适合运用在pageload种,第二种建议你看看我的参考资料中的链接,我手边电脑刚好没有开发环境,如果你有兴趣,晚上我可以做试验。。。。。

1、利用viewstate 在每个控件相应的事件中给viewstate赋值
然后在pageload事件中判断 viewstate 的值做判断。反正viewstate 不会跨页面传递

2、先通过 string postBackControlUniqueID = Request.Form[ "__EVENTTARGET "];
获取引发回发的控件的 UniqueID 属性( 客户端 name 属性)

然后页面上查找具有此 UniqueID 的控件(需要递归查找)

以上 asp.net 1.x 即可完成任务

但,对于 asp.net 2.0, Button 默认使用 type=submit 方式提交,
故,此按钮提交的时候,
string postBackControlUniqueID = Request.Form[ "__EVENTTARGET "]; 得到的是空值,
那么此时,遍历 Request.Form 集合,并且查找对应的控件,判断是否为 Button [ if(someControl is Button) ],且其 UseSumitBehavior=true

参考资料: http://www.mscto.com/AspNet/101048506.html

wordyhuang
2008-08-04
知道答主
回答量:90
采纳率:0%
帮助的人:34.7万
展开全部
sender这个参数值的就是触发的控件,操作它就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式