我有一個鏈接按鈕,點擊時調用c#函數'send_Click'。這裏是功能:更改隱藏字段的值而不回發
void send_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Call my function", "text_alert()", true);
Response.Write(hidAcrobat.Value);
}
,你可以看到,它調用javascript函數「text_alert()」,它看起來是這樣的:
function text_alert() {
var person = prompt("Additional Comments:", "");
if (person != null && person != "") {
document.getElementById('hidAcrobat').value = person;
}
}
,彈出一個提示框接受用戶輸入和設置隱藏字段'hidAcrobat'的值爲該值。
然後回到c#,下一行是Response.write(hidAcrobat.Value); 它寫入hidAcrobat的默認值,而不是在提示框中分配給它的新值。 我假定它是因爲該頁面沒有回發, 我該如何解決這個問題?
你將不得不瞭解客戶端和服務器端的區別。你正在改變的價值是在客戶端。所以在服務器端腳本中存在的變量的值不會改變,直到您使用POST BACK或使用AJAX來更改該變量爲止 – 2013-05-05 17:22:47
我怎樣才能做到這一點?謝謝 – 2013-05-05 17:33:36
你可以請給出你使用這個實際案例。我不明白你爲什麼要做response.write()當你已經有了客戶端變量的值 – 2013-05-05 17:34:55