嗨,感谢您的帮助提前。 这是我的问题:MasterPage按钮点击事件不会触发第一次点击,但第二次点击
- 我有一个网页分成一个MasterPage和一个主页。
- 任何页面都没有动态设置(没有代码隐藏),它全部设置在.aspx页面上。
- 在MasterPage上我有一个“保存”按钮。
- 在主页上我有几个文本框。
- 主页文本框有一个事件(void SumAll(...)),当焦点离开这些复选框时触发。
- 在MasterPage上我有一个点击事件连接到“保存”按钮。
这是happends:
- 我做出改变,以在主画面的文本框的任何一个,但焦点不会离开这个文本框(无SumAll()事件fireing马上) 。
- 然后点击MasterPage中的“保存”按钮。
我期望MasterPage“保存”按钮点击事件触发,但它永远不会!主页textchange(SumAll())事件触发,但MasterPage单击事件不会。
如果再次点击MasterPage“Save”按钮,MasterPage点击事件成功激发,但当然不是主页面textchanged事件。当我只点击主页面上的“保存”按钮而没有对主页面进行任何修改时也是如此。
这是我的代码示例。 主页TextChanged事件:
protected void SumTheAmounts(object sender, EventArgs e)
{
Decimal lease = 0.00M;
Decimal securityDeposit = 0.00M;
Decimal miscellanious = 0.00M;
Decimal sumTotal = 0.00M;
Decimal.TryParse(txtMiscellaneousAmount.Text, out miscellanious);
Decimal.TryParse(txtSecurityDepositAmount.Text, out securityDeposit);
Decimal.TryParse(txtLeaseAmount.Text, out lease);
sumTotal = miscellanious + securityDeposit + lease;
txtAmount.Text = sumTotal.ToString();
// Set focus to the next textbox
TextBox tb = (TextBox)sender;
switch (tb.ID)
{
case "txtLeaseAmount":
txtSecurityDepositAmount.Focus();
break;
case "txtSecurityDepositAmount":
txtMiscellaneousAmount.Focus();
break;
case "txtMiscellaneousAmount":
txtMiscellaneousAmount.Focus(); // Send back to the same. .
break;
default:
break;
}
}
我的母版的 “保存” 按钮,单击事件:
protected void btnSave_Click(object sender, EventArgs e)
{
// Save every little thing...
switch (ContentPageLoaded)
{
case "CheckRequest":
((CheckRequest)ContentMain.Page).UpdateMe();
break;
case "PicturesLoad":
((PicturesLoad)ContentMain.Page).UpdateMe();
break;
default:
break;
}
}
标记:
<asp:Panel ID="pnlSave" CssClass="ButtonClass" runat="server">
<asp:Button ID="btnSave" style="width:160px; font-size:small; position:relative; color:Blue; top: 0px; left: 0px;" runat="server" Text="Save" onclick="btnSave_Click" CausesValidation="False" />
</asp:Panel>
pageLoad的:
if (!IsPostBack)
{
Button saveButton = (Button)Master.FindControl("btnSave");
branchName = (string)Session["BranchName"];
branchLegalData = new Classes.BranchLegalData();
if ((branchName != null) && (branchName.Length > 0))
{
FillThisPageData();
}
}
else { }
Master.ContentPageLoaded = "CheckRequest";
任何帮助非常感谢! 谢谢
您能告诉我们母版上保存按钮的标记吗?我们是否也可以在page_load中看到任何页面上的代码? – 2013-02-19 19:40:49
MasterPage的page_load只启用MasterPage上的按钮,因此它没有任何结果。保存按钮始终处于启用状态。 – stevekershaw 2013-02-19 22:51:55
请将您的代码放在原始问题中,而不是评论。我这次为你做了。 – 2013-02-19 23:19:57