我有一个包含4个表的页面。最初加载页面时,它显示1&这很好。在回发后(点击提交时),它应显示3&即使那样工作正常(这里显示的代码)。再次单击提交时,必须调用updatePaymentInfo()
并重定向。是否有一些东西要写作调用UpdatepaymentInfo()
的条件,因为当点击提交时,它正在作为另一个回发并向我显示3&再次4。
protected void imgbtnSubmit_Click(object sender, ImageClickEventArgs e)
{
try
{
if (Page.IsPostBack)
{
trtest.Visible = false;
trCCandBilling.Visible = true;
trtest2.Visible = true;
}
else
{
UpdatePaymentInfo();
Response.Redirect(ApplicationData.URL_MERCHANT_ACCOUNT_HOME, true);
}
}
}
答案 0 :(得分:2)
我最简单的方法就是在同一个地方放置两个图像提交按钮。按钮A是您已经拥有的按钮B是一个新的按钮,其提交处理程序运行UpdatepaymentInfo并重定向。
当按钮A可见时,按钮B开始不可见。除了可见性更改之外单击按钮A时,您可以隐藏按钮a并显示按钮B.然后,当他们单击按钮B时,会发生正确的事情。
虽然不是那么优雅。
另一种解决方案可能是在页面中存储值以指示当前页面状态,然后您可以在按钮单击时进行检查。
答案 1 :(得分:0)
听起来您无法管理网页的当前状态。你可以尝试:
答案 2 :(得分:0)
我猜imgbtnSubmit_Click处理Submit按钮的Click事件,因此只在回发期间调用此方法,因此条件不正确。
我不会使用这种方法。 ASP.NET包含支持这些要求的控件。检查MultiView和向导。使用表1和表创建单独的视图2和按钮和另一个视图与表3& 4和按钮。第一个视图上的按钮将切换视图,第二个视图上的按钮将调用方法并重定向。
答案 3 :(得分:0)
另一种可能的方法是保持当前设置并向按钮添加命令参数。默认情况下,它会在第一次单击时检查一些参数。然后在第一次单击时检查命令参数,然后执行显示并将命令参数更改为不同的参数。因此,在下一个按钮上单击,您将执行与第二个命令参数关联的工作。因此,无需隐藏或显示新控件即可完成工作。