2012-07-05 45 views
2

我正在使用沙盒解决方案(sharepoint 2010项目在Office 365上,因此使用沙盒解决方案),并希望从一个页面转到另一个按钮单击事件。这是通过JavaScript实现的,但点击事件中的操作没有执行。使用c#代码在sharepoint 2010 webpart(沙盒解决方案)中进行页面重定向可能吗?

例如,我将页面加载的javascript分配给所需的事件,然后事件执行重定向而不进入事件内部的代码。

用于重定向的JavaScript是:

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

且事件代码:

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."; 

    } 

正如你可以看到重定向工程btnCancel成功。我没有将它分配给btnSubmit,因此它只会重定向,并且不会转到上面指定的代码。已经微软帮助他们也是无能为力.Answers将不胜感激。项目需求已被修改。很久没有答案,请检查更多。提前致谢。

+0

如果它的JavaScript,然后破开的浏览器工具栏开发,你会看到究竟怎么回事。 – Ryan 2012-07-06 08:08:32

+0

没有javascript是不是问题 – 2012-07-06 12:52:59

回答

1

对于您的btnSubmit按钮,不要像您为btnCancel所做的那样添加属性。 然后只需在您的事件方法中添加Response.Redirect(...);即可。

... 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

对不起frnd试图说,这不适用于Office 365这是另一个问题。 – 2012-07-05 10:51:27

+1

@Sreejit您不能在沙盒解决方案中执行服务器端重定向。它被明确禁用。你必须做一些JavaScript的工作。 – aceinthehole 2012-07-18 13:01:36

+0

是的,这是我做了上面的代码(JavaScript)作为按钮点击事件的属性,但不执行该事件包含的代码。当您不必在事件中做任何事情时,此重定向就能正常工作。 – 2012-07-24 06:53:26

5

添加该代码在你点击链接

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

会检查这个,并让你知道 – 2012-08-16 12:53:06

+0

这没有奏效,但感谢仍然在寻找一个答案 – 2012-08-21 07:13:53

+0

这将无法正常工作,你将不得不把标签周围的JavaScript。 – harsimranb 2012-11-05 16:48:49

相关问题