您好,感谢您的帮助。 这是我的问题:
这就是发生的事情:
我希望MasterPage“保存”按钮单击事件可以触发,但它永远不会!将触发Main Page textchange(SumAll())事件,但MasterPage click事件不会触发。
如果我再次单击MasterPage“保存”按钮,MasterPage单击事件会成功触发,但当然不会触发Main Page textchanged事件。当我点击MasterPage“保存”按钮而不对主页进行任何更改时,情况也是如此。
以下是我的代码示例。 主页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;
}
}
我的MasterPage的“保存”按钮点击事件:
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";
非常感谢任何帮助! 感谢
答案 0 :(得分:1)
这是一个黑暗中的镜头,但尝试设置autopostback =&#34; false&#34;对于所有文本框。我怀疑可能发生的事情是,当你将焦点放在文本框上然后一下子点击按钮时,你正在发射两个回发。
只有将autopostback设置为true才会发生这种情况。
答案 1 :(得分:0)
谢谢大家!
在文本框上设置autopostback =“false”! 我认为发生的事情是autopostback =“true”,文本框会触发它自己的文本更改事件,并且由于某种原因,MasterPage按钮单击事件在此之后不会触发?! 有人可以告诉我为什么文本框事件会触发而不是按钮事件???
无论如何,这个问题已得到修复,我感谢所有的输入......你们摇滚!
史蒂夫