Appel de la fonction JavaScript (en aspx) sur aspx.cs à l'aide d'un bouton
J'ai cette aspx:
<body>
<div>
<script type="text/javascript">
function NewPage() {
document.location.href = "http://www.nextservice.pt/"
}
</script>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Btn2" runat="server" Text="OK" onclick="Button2_Click" />
CODE1: <asp:Label ID="Label1" runat="server" Text="Label" ForeColor="#CC0000" />
</form>
</div>
</body>
et je suis en train de travailler avec des formulaires web, et j'ai l'habitude d'appeler ce bouton sur aspx.cs
public partial class SITE_TESTER : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button2_Click (object sender, EventArgs e)
{
string code = TextBox1.Text.ToString();
if (!verifyCode(code)) //comparing users from table
{
Label1.Text = "Not Exists"; //for invalid code
}
else
{
Label1.Text = "Exist"; //for sucsseful code
/*
I Wont call my JavaScript Function here!!!!
*/
}
}
}
- Ce que la fonction javascript doit faire? En fait, vous ne pouvez pas exécuter JS côté serveur. Mais vous pouvez vous préparer pour être exécuté côté client lorsque le serveur sera de retour tout HTML. Vous dites que vous voulez modifier le document.emplacement?
- Je peux courir JS sur le serveur, mais j'ai plus de JS à l'appel avant que. Ma première JS prendre jeton de facebook, et j'ai besoin enregistré le jeton sur DB. Merci
- Pas sûr qu'entendez-vous sous "exécuter en JS sur le serveur" (et pourquoi vous demandez comment faire, si vous connaissez déjà la réponse), mais comme je le comprends, vous prenez un jeton avec JS. Une fois que vous l'avez, vous pouvez exécuter appel AJAX vers le serveur qui va le mettre dans la base de données.
- avec votre point de vue(FAngel) je pense que changer mon régime, je vais essayer d'en faire tous les code JS sur aspx.cs(sur l'emplacement du serveur) et obtenir les jetons par ajax ou autre chose. merci
Vous devez vous connecter pour publier un commentaire.
vous pouvez appeler une méthode javascript de côté de serveur asp.net par les moyens suivants:
vous pouvez utiliser
ScriptManager.RegisterStartupScript
ouScriptManager.RegisterClientScriptBlock
donc la différence entre les deux est expliqué ci-dessous:
Disons que nous avons un .page aspx avec le formulaire suivant tag : (Ligne
la nsa. sont pour la référence)
Examinons maintenant les principales différences pour chaque méthode :
A.
Page.RegisterClientScriptBlock()
insérez le bloc de scriptavant de la Ligne 2.
Page.RegisterStartupScript()
insérez le script, après la Ligne 4.B.
Page.RegisterClientScriptBlock()
doit être utilisée habituellement pour les scriptsencapsulé dans les fonctions. (d'où le mot "bloc")
Page.RegisterStartupScript()
peut être utilisé pour n'importe quel script, même si c'estpas dans une fonction.
C.
Page.RegisterClientScriptBlock()
doit être utilisé pour des fonctions quin'avez pas besoin d'exécuter au chargement de la Page.
Page.RegisterStartupScript()
doit être utilisé pour les scripts qui doivent s'exécuterau Chargement de la Page.
D.
Page.RegisterClientScriptBlock()
doit être utilisé pour un script qui n'pas besoin de la forme des éléments ont été créés.
Page.RegisterStartupScript()
doit être utilisé pour les scripts qui nécessitentles éléments de formulaire a été créé et utilise des références pour eux.
Avis que tous les 4 différences sont essentiellement liées à chaque
d'autres (ils reposent sur le précédent. l'un). La différence mettre en une seule ligne
peut parfois être trop subtil.
vous pouvez en savoir plus à propos de ces de ici et ici
Vous pouvez ajouter un script qui sera exécuté lorsque la page est chargée dans le navigateur:
ou comme ceci:
Mais si vous voulez simplement faire une redirection (comme je peux le voir à partir de votre NewPage fonction), vous pouvez le faire: