缓存事件的触发顺序
本文关键字:顺序 事件 缓存 | 更新日期: 2023-09-27 18:16:33
假设我有一个简单的表单,只有两个文本框和一个按钮。文本框中的"AutoPostBack
"设置为false。例如,在这些事件的TextChanged
中放入一些代码,以写入响应流,说明在单击按钮并将表单提交给web服务器后触发哪个TextChanged事件。是否有一种方法来控制缓存事件的触发顺序?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace IsPostBack___Part_8
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
Response.Write("Text box 1 event fire");
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
Response.Write("Text box 2 event fired");
}
//dummy button click handler here
}
}
使用该代码和表单上的其他内容,首先更改哪个文本框并不重要,它们以相同的顺序触发。缓存事件的触发顺序是否由其在html中的位置决定?
根据微软的说法,您不应该依赖于特定的事件顺序。但一般情况下,事件将按照控件在页面标记中的位置顺序触发。
如果你的布局是[TextBox1]
[TextBox2]
[Button1]
事件将按顺序触发:
Page_Load
TextBox1_Changed
TextBox2_Changed
Button1_Click
您可以尝试通过重新排列页面上的控件来更改事件的顺序。