从Ajax更新存储过程

时间:2013-01-01 22:39:44

标签: c# asp.net sql sql-server

我正在编写一个应用程序,在页面加载时根据来自URL的ID从SQL中提取信息,然后将其转换为Int。

request_id = Request.QueryString["ID"].ToString();
RequestID = Convert.ToInt32(request_id);

然后我尝试在SQL更新存储过程中将页面上的更改提交回数据库。

如果我在页面上打印上述RequestIDrequest_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(对于这个例子)

我知道我的代码有效,因为如果我用固定值替换存储过程中的参数,它可以正常工作。

有什么想法吗?

干杯

1 个答案:

答案 0 :(得分:1)

您可以将请求ID存储在隐藏字段中。它应该工作正常