2012-04-09 38 views
0

我有一个形式与动作=“xyz.aspx:type = new”和一些输入文本框和2个按钮:提交和预览。 “提交”按钮用文本框值更新数据库,“预览”按钮将表单文本框的值传送到页面“xyz.aspx?type = preview”。问题在于功能被实现了,但是在点击预览按钮之后,表单的动作URL开始起作用并导致数据库中不需要的更新。那么如何防止这种情况发生?任何帮助表示赞赏。如何防止窗体的动作发生在asp.net

+0

你可以添加一些关于你的page_load发生了什么的代码示例吗? – hofnarwillie 2012-04-09 18:30:14

回答

1

如果您的两个按钮不是asp:按钮,请先执行此操作。现在

<asp:Button Id="Submit" runat="server" OnClick="Submit_OnClick"/> 
<asp:Button Id="Preview" runat="server" OnClick="Preview_OnClick"/> 

,移动你的代码更新数据库到Submit_OnClick

protected void btnExecute_Click(object sender, EventArgs e) 
{ 
    //update your database 
} 

你的数据库应该只有当提交点击更新。

如果您需要预览按钮发布到另一个页面,请使用PostBackUrl属性。

+0

谢谢!但是我点击“提交和预览”按钮后会显示一个公共页面。唯一的缺点是在提交之后,它将填充来自dbase的值和来自querystring的预览。但为什么表单操作在预览之后被触发。预览点击代码只包含重定向网址。 – 2012-04-09 18:39:57

+0

如果在页面加载事件中有代码,它将触发任何导致回发的控件。我们需要查看您的代码才能了解更多信息。 – SouthShoreAK 2012-04-09 18:46:52