Rozumiem różnicę między skryptami po stronie klienta i po stronie serwera. Mam funkcji JavaScript i zmienną w moim MasterPage
:Ustawianie wartości zmiennej javascript z kodu za (C#)
<script language="JavaScript" type="text/javascript">
var needToConfirm = false;
window.onbeforeunload = confirmExit;
function confirmExit()
{
if (needToConfirm)
{
needToConfirm = false;
return "Currently in edit mode. If you leave the page now then you will lose unsaved changes."
}
}
</script>
biorąc pod uwagę fakt, że na moim ASP.NET (po stronie klienta) można zmienić wartość mojego zmiennej needToConfirm
do true
onClientClick
ale domyślnie jest fałszywa . Oto przykład.
<asp:Button ID="btnEdit" runat="server" Text=" Edit " onclick="btnEdit_Click" OnClientClick="needToConfirm = true;" />
Teraz tutaj jest pytanie, kiedy w C# (server-side) muszę ustawić needToConfirm
true pod if-statement
ale niekoniecznie na Page_Load
:
private void SetDefault()
if (Session[def.ID_CUST] != null)
{
//I want to change the variable value here
}
}
Dzięki.
UPDATE
Używam .NET 2.0 klasyczna WebForms
Bezpośrednie wywołanie skryptu z serwera jest niemożliwe.Można jednak użyć skryptu ClientScript.RegisterStartup(). – Olrac