2011-09-28 33 views
-1

我正在开发一个Facebook应用程序,并面对使用Razor与MVC3的表单时出现问题。在ASP.NET MVC3 Facebook应用程序中的Form和Request.Form

A.工作形式:

index.cshtml

 @using (Html.BeginForm("Index", "Home", FormMethod.Post)) 
     { 
      @Html.TextBox("tbTest", "Pouet pouet", new { Width = "500px" }) 
      <input type="submit" name="btnCalculate">calculer vos tarifs</input> 
     } Result form : @Request.Form <br /> 

HomeController.cs:

public ActionResult Index() 
{ 
    return View(); 
} 

B.窃听形式:

About.cshtml:

 @using (Html.BeginForm("About", "Home", FormMethod.Post)) 
     { 
      @Html.TextBox("tbTest", "Pouet pouet", new { Width = "500px" }) 
      <input type="submit" name="btnCalculate">calculer vos tarifs</input> 
     } Result form : @Request.Form <br /> 

HomeController.cs:

[CanvasAuthorize(Permissions = "user_about_me,manage_pages,offline_access")] 
    public ActionResult About() 
    { 
     var fb = new FacebookWebClient(); 
     FacebookWebClient fbApi = new FacebookWebClient(FacebookWebContext.Current.AccessToken); 

     dynamic result = fb.Get("me"); 
     return View(); 
    } 

在apps.facebook.com/appname/home/index,形式工作,返回的Request.Form = tbTest Pouet pouet。 在apps.facebook.com/appname/home/about中,表单只返回Signed_Request。

编辑 如果我编辑HomeController.cs这样

[CanvasAuthorize(Permissions = "user_about_me,manage_pages,offline_access")] 
    public ActionResult Index() 
    { 

的第一页,index.cshtml,不工作了......该帖子只返回Signed_Request。

所以,我认为我有一个使用Facebook SDK和签名请求的问题,不是吗? 请你帮我。为什么表单在关于页面中没有发送或丢失?

回答

0

因为你在你的公司形式,这导致它发布到首页,而不是关于有

@using (Html.BeginForm("Index", "Home", FormMethod.Post)) 

。将其更改为

@using (Html.BeginForm("About", "Home", FormMethod.Post)) 
+0

对不起,我粘贴而不编辑它,因为我必须这样做。这不是问题,我的代码是正确的,至少是这样。 – Netah

+0

有没有其他想法? – Netah

+0

我认为它看起来像是和Facebook SDK有关,我对此并不熟悉。 – yoozer8