我的頁面上有(服務器端的按鈕)提交按鈕。ASP.NET/JavaScript - 腳本註冊/重定向問題
這裏是我的Click事件代碼:
protected void SubmitButton_Click(object sender, EventArgs e)
{
db.SaveSomething();
Page.ClientScript.RegisterStartupScript("someScriptWhichReliesOnServerData");
Response.Redirect("SomeOtherPage.aspx");
}
現在的問題是,我使用JavaScript Page.ClientScript.RegisterStartupScript
註冊,但這個不會有任何效果的頁面沒有被回發重新渲染(這哪裏是腳本將被執行),因爲不是Response.Redirect
發生。
我能想到的唯一解決方案是讓頁面重定向到「知道」即時嘗試執行一些JavaScript,無論是QueryString,HttpContext.Current.Items或(gulp)Session。
- QueryString - 不是一個選項,因爲它是JavaScript即時試圖執行。
- HttpContext.Current.Items - 也不是一個選項,因爲我在做一個Response.Redirect(它失去了請求級別的數據,而且我也不能使用Server.Transfer,因爲這對於URL重寫來說不會很好)。
- 會議 - 當然,但效果並不理想。
任何其他的想法/建議?
編輯澄清:
JavaScript的執行IM是一個Facebook的客戶端API調用發佈到用戶的牆。它必須在客戶端完成。我傳遞給腳本的東西,如「標題」,「消息」,「行動鏈接」等基本上是一堆JSON。但關鍵在於這個數據是在回發時創建的,所以我不能在客戶端單擊執行此功能。
所以即時通訊嘗試完成的是提交按鈕點擊,執行一些JavaScript並做一個重定向(不必按順序,只需要發生)。
如果您可以描述您嘗試完成的「什麼」,那將是很好的,因爲可能有更好的解決方案。有很多方法可以解決這個問題,但也有很多方法可能不適合您的特定情況。 – Josh 2010-08-25 02:15:29
@Josh - 擴大了問題。好點? – RPM1984 2010-08-25 02:19:07
跨頁面回發不是一個選項嗎? – 2010-08-25 02:33:43