我正在编写一个应用程序,在页面加载时根据来自URL的ID从SQL中提取信息,然后将其转换为Int。
request_id = Request.QueryString["ID"].ToString();
RequestID = Convert.ToInt32(request_id);
然后我尝试在SQL更新存储过程中将页面上的更改提交回数据库。
如果我在页面上打印上述RequestID
和request_id
的值......我会得到相同的数字..这很好。
但是我的页面上有两个提交按钮..当我点击第一个时,会弹出以下内容。
<ajaxToolkit:ConfirmButtonExtender ID="cbe" runat="server"
ConfirmText="Want to Save?"
TargetControlID="submit_btn"
DisplayModalPopupID="btnSave_ModalPopupExtender"
ConfirmOnFormSubmit="true">
</ajaxToolkit:ConfirmButtonExtender>
<ajaxToolkit:ModalPopupExtender ID="btnSave_ModalPopupExtender" runat="server"
TargetControlID="submit_btn"
PopupControlID="Panel1"
DropShadow="true"
CancelControlID="btnCancel"
BackgroundCssClass="modalBackground">
</ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="Panel1" runat="server" CssClass="Panel_css" >
<asp:Label ID="sqlErrorLabel" runat="server"></asp:Label>
<p style="margin-left:40px; margin-right:40px; text-align:center">Are you sure you wish to commit this to the database?</p>
<div style="position:relative; left:23%">
<asp:Button id="btnOK" runat="server" Text="Submit" OnClick="btnOK_Click" CssClass="submit" />
<asp:Button id="btnCancel" runat="server" Text="Cancel" CssClass="submit" />
</div>
它在点击第二个按钮并运行存储过程之间,使得RequestID丢失,就像我在页面上打印出来一样,它在255之前等于0(对于这个例子)
我知道我的代码有效,因为如果我用固定值替换存储过程中的参数,它可以正常工作。
有什么想法吗?
干杯
答案 0 :(得分:1)
您可以将请求ID存储在隐藏字段中。它应该工作正常