问题:
为什么运行结果,一定要先选择一下第一个菜单项,再选后面的(第二或是第三项 才有效),才会执行那个 dept_CheckedChanged 呢?
例如点了第二项,再点第三项,就没有效果了。奇怪。
前台代码:
<x ageManager ID=" ageManager1" runat="server" AutoSizePanelID=" anen1" />
<x abel ID="lbl1" runat="server" Label="Label" Text="Label"></x abel>
<x:Toolbar ID="Toolbar1" runat="server">
<Items>
<x:Button EnablePostBack="false" ID="btDept" Text="选择区域..." runat="server">
<Menu ID="Menu1" runat="server">
<x:MenuCheckBox Text="baidu.com" ID="MenuCheckBox1" AutoPostBack="true"
Checked="true" runat="server" GroupName="deptName">
</x:MenuCheckBox>
</Menu>
</x:Button>
</Items>
</x:Toolbar>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
string sql = "select top 2 id,deptName from sysDept where id in(34,35,36,37,38,59,45) ";
DataSet ds = SqlHelper.Query(sql);
FineUI.Menu m = btDept.FindControl("Menu1") as FineUI.Menu;
foreach (DataRow dr in ds.Tables[0].Rows)
{
FineUI.MenuCheckBox mc = new FineUI.MenuCheckBox();
mc.ID = "mm" + dr[0].ToString();
mc.Text = dr[1].ToString().Trim();
mc.GroupName = "deptName";
mc.AutoPostBack = true;
mc.CheckedChanged += new EventHandler(dept_CheckedChanged);
// mc.Checked = true;
m.Items.Add(mc);
}
}
}
protected void dept_CheckedChanged(object sender, EventArgs e)
{
lbl1.Text = lbl1.Text + "u";
}
|