2012-07-05 1 views
2

J'utilise une solution en mode bac à sable (le projet sharepoint 2010 est sur Office 365 et utilise donc une solution en mode bac à sable) et je souhaite passer d'une page à une autre lors d'un clic sur un bouton. Ceci est réalisé par javascript mais les opérations dans l'événement click ne sont pas effectuées.Redirection de page dans sharepoint 2010 webpart (solution sandboxed) en utilisant le code C# est-ce possible?

Par exemple, j'attribue le javascript sur le chargement de la page à l'événement désiré puis l'événement effectue la redirection sans entrer dans le code qui se trouve dans l'événement.

Le javascript utilisé pour la redirection est:

string redirectURL = "http://ksreejit:32512/sites/SplTeam/Pages/QuizMasterDashboard.aspx"; 
btnCancel.Attributes.Add("OnClick", "javascript:{window.location='" + redirectURL + "';return false;}"); 

Et le code d'événement est:

protected void btnSubmit_Click(object sender, EventArgs e) 
     { 

      if (ViewState["QuestionID"].ToString() != string.Empty) 
      { 
       SaveDetails(ViewState["QuestionID"].ToString()); 
       foreach (Control contrl in this.Controls) 
       { 
        contrl.Visible = false; 
       } 

      } 
      else 
      { 
       SaveDetails(); 
       foreach (Control contrl in this.Controls) 
       { 
        contrl.Visible = false; 
       } 

      } 
      Label lblMessage = new Label(); 
      lblMessage.Visible = true; 
      lblMessage.Text = "The Question is successfully saved and sent to reviewer for reviewing. Thanks for uploading."; 

    } 

Comme vous pouvez le voir la redirection fonctionne pour btnCancel avec succès. Je ne l'ai pas assigné pour btnSubmit cos il redirigera alors seulement et n'ira pas au code indiqué ci-dessus. Essayé l'aide de microsoft ils étaient également clueless.Answers seront appréciés. L'exigence de projet a été modifiée. longtemps pas de réponses s'il vous plaît vérifier plus. Merci d'avance.

+0

Si le javascript puis casser la barre d'outils de dev du navigateur et vous verrez exactement ce qui se passe. – Ryan

+0

pas de javascript n'est pas le problème –

Répondre

1

Pour votre bouton btnSubmit, n'ajoutez pas l'attribut comme vous l'avez fait pour votre btnCancel. Ensuite, ajoutez simplement un Response.Redirect(...); dans votre méthode d'événement.

... lblMessage.Text = "The Question is successfully saved and sent to reviewer for reviewing. Thanks for uploading."; 

Response.Redirect("http://ksreejit:32512/sites/SplTeam/Pages/QuizMasterDashboard.aspx"); 
+0

désolé frnd essayé que cela ne fonctionne pas sur le bureau 365 c'est un autre problème. –

+1

@Sreejit Vous ne pouvez pas effectuer de redirection côté serveur dans une solution en bac à sable. Il est explicitement désactivé. Vous aurez à faire une sorte de travail javascript autour. – aceinthehole

+0

oui c'est ce que j'ai fait le code ci-dessus (javascript) fonctionne comme un attribut à l'événement de clic sur le bouton, mais n'effectue pas le code que l'événement contient. Cette redirection fonctionne correctement lorsque vous n'avez rien à faire dans l'événement. –

5

Ajouter ce code dans votre bouton cliquez sur

string redirectURL = "http://ksreejit:32512/sites/SplTeam/Pages/QuizMasterDashboard.aspx"; 
this.Controls.Add(new LiteralControl("<script>window.location.href='" + redirectURL + "';</script>")); 
+0

va vérifier cela et vous faire savoir –

+0

cela n'a pas fonctionné mais merci encore de chercher une réponse –

+0

qui ne fonctionnera pas, vous devrez mettre tag autour du javascript. – harsimranb

Questions connexes