![](/img/trans.png)
[英]passing data from Ajax Modal popup extender to a textbox on the asp.net page
[英]ASP.NET AJAX popup a page as a modal window
我想使用.aspx頁的模式彈出窗口將數據添加到數據庫。
所以我有一個網格,上面有一些雇員的SQL表數據。 我想在此頁面上的某個位置有一個按鈕或鏈接,以使用戶可以將記錄添加到數據庫,然后刷新網格以顯示新數據。
我有一個addEmployee.aspx,我想在模式窗口中彈出該窗口(並使底層頁面變暗,就像我在某些站點上看到的那樣),該窗口允許用戶輸入數據並保存到addEmployee.aspx中的數據庫中。 此頁面中封裝了用於此工作的所有sql和驗證邏輯。 添加完成后,我想提醒用戶它去了(可能最好是在關閉彈出窗口並在主頁上顯示一條消息之后,我也想從數據庫中刷新數據網格信息,以便它可以反映新的記錄已添加。
有人可以指出我要獲得此類功能的方向,而無需花費數周的時間來獲得它。
如果您有更好的解決方案,我全都可以!!!
謝謝
如果可以將addEmployee.aspx功能封裝到用戶控件中,則可以將此用戶控件(addEmployee.ascx)添加到帶有網格的頁面中(例如viewEmployee.aspx)
然后,使用模式彈出擴展程序(如果使用的是ajax控件工具包),可以顯示此addEmployee.ascx控件,其中用戶具有保存按鈕以及用於添加雇員的相應邏輯。
同樣,如果您使用的是updatepanels(再次使用ajax控件工具包),則可以執行listofEmployeeUpdatePanel.Update()來刷新網格中的項目列表。
這就是我當前在當前應用程序中實現非常相似的用例的方式。
這種方法的一個缺點是:addEmployee.ascx用戶控件是原始頁面的一部分,並且無論是否使用它都會增加大小。
在您的情況下,您可以使用jquery facebox插件顯示模式彈出窗口,也可以引用非常靈活且易於使用的JavaScript原型。
對於Facebox,Facebox允許將iframe顯示為模式彈出窗口。 因此您可以將鏈接放入iframe。 替代“ facebox”的是帶有漂亮gui的“ fancybox”。 它很棒,因為我以前用過。
希望這會幫助你。
您可以將IFrame放在模式中,指向addEmployee.aspx。 然后,在主頁上添加一個隱藏按鈕,例如:
<div style="visibility: hidden; display: none;">
<asp:Button ID="btnHidden" runat="server" />
</div>
將Cick甚至添加到隱藏的按鈕,該按鈕應包含更新網格的代碼:
protected void btnHidden_Click(object sender, EventArgs e)
{
//Hidden button was clicked. Update grid.
}
然后,在addEmployee.aspx中的“添加”單擊事件上,添加代碼以告知主頁提交並更新網格:
private void SubmitParentPage()
{
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "submitHiddenButton", "window.parent.submitHiddenButton();", true);
}
這是在主頁上調用的javascript函數:
function submitHiddenButton() {
var btn = $get('<%= btnHidden.ClientID %>');
btn.click();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.