小生最近在研究一個類似于遮罩層的js腳本,在asp.net中使用html控件可以很容易的調用到該js腳本中的函數,并有響應效果;我想在服務器控件(Button)的單擊事件中實現同樣的效果,但效果不是很理想,我想到的兩種方法都不好使。
1。把代碼寫在Click事件中
?protected void Button1_Click(object sender, EventArgs e)??? {??????? Response.Write("<script language='javascript'>ShowAlertText(document.getElementById('TextBox1').value,'','',null,null);</script>");??? }
這樣根本不能看到效果,而且網頁提示腳本錯誤,其中的js函數在htmlButton的onclick事件中是可以實現的。
2。在Page_Load中寫入代碼如下
?if (!this.IsPostBack)??????? {??????????? this.Button1.Attributes["onclick"] = "ShowAlertText(document.getElementById('TextBox1').value,'','',null,null);";??????? }
效果是可以出現,但是遮罩層只是瞬間的出現又關閉了,這是不是因為頁面已經提交的原因?如何才能讓使用者點擊確定或關閉才讓遮罩層消失。
?
有人提示說直接就用html控件,但是我點擊Button還需要其他的一些與數據庫交互的行為,如果用js來寫的話,本人對js又很生疏,不好解決,有高手能否提示一下,該情況下該如何處理才能得到想要的效果呢?
6 回答

弒天下
TA貢獻1818條經驗 獲得超8個贊
this.Button1.Attributes["onclick"] = "ShowAlertText(document.getElementById('TextBox1').value,'','',null,null);return false;";

jeck貓
TA貢獻1909條經驗 獲得超7個贊
果然很強大,但是弱弱的問一句,這行代碼寫在Page_Load事件中可以執行,但是在Click事件中就不能出現效果了。如果我的Button_Click中還要執行其他的交互代碼,這樣事件的處理代碼寫在Click事件中就處理不了了;
如
{
Response.Write("Hello world!!!");
Response.Write("");
}
Hello World可以寫出來,但是后面的代碼就沒喲辦法執行了。
這個問題有辦法解決嗎?高手提示下吧……

萬千封印
TA貢獻1891條經驗 獲得超3個贊
我下面已經解釋Response.Write()的問題了,一般在服務器端輸出腳本用二樓說的,page.ClientScript.RegisterStartupScript()
- 6 回答
- 0 關注
- 347 瀏覽
添加回答
舉報
0/150
提交
取消