页面回送其实是先执行PAGE_LOAD再执行BUTTON_CLICK能否在PAGE_LOAD里就找到是由哪个按钮或LINKBUTTON进行了回送.
解决方案 »
- asp.net 数据控件listview怎么控制宽度?
- UserControl问题
- 关于一些我的想法,高手过来,,满足下我可以吗
- 我想问题一下重写url(UrlRewriter.NET)的正则
- 最近遇到一个非常棘手问题,非常非常奇怪的
- VS.NET不能新建项目的问题.大侠们帮我看看.
- 如何在模块中使用内置对像?
- 手持机上的网页如何发声音
- 一个网址:http://127.0.0.1/aa/a.aspx?id=12;想通过什么设置变为http://127.0.0.1/aa/a?id=12类似效果,好象叫伪静态,rewritepath
- 请教正则表达式的问题!!!
- 服务器端可以直接调用javascript函数吗
- ██ 发布一个ASP.Net数据库操作组件(同时支持Access与SQL存储过程)
我想到的办法是为所有按钮和linkbutton注册客户端脚本块,客户端onclick时获取自身的id号放入到一个hidden控件中去,服务器端pageload时读取,不过感觉有点麻烦
<div>
<asp:Button ID="Button1" runat="server" UseSubmitBehavior="false" onclick="Button1_Click" Text="Button1" />
<asp:Button ID="Button2" runat="server" UseSubmitBehavior="false" onclick="Button2_Click" Text="Button2" />
<asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton>
</div>
</form>
protected void Page_Load(object sender, EventArgs e)
{
if (Request["__EVENTTARGET"] != null)
{
Response.Write(Request["__EVENTTARGET"].ToString());
}
}
Response.Redirect("Temp.aspx?Button="+((Button)sender).ID);
{
Response.Write(Request["__EVENTTARGET"].ToString());
}
我写了个方法用来验证是否是某某控件触发的事件bool IsEventTarget(Control control)
{
if (control is Button)
{
return !string.IsNullOrEmpty(HttpContext.Current.Request.Form[control.ClientID]);
}
else
{
return HttpContext.Current.Request.Form["__EVENTTARGET"] == control.ClientID;
}
}