Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与facebook共享Asp.NETMVC url_C#_Asp.net_Facebook_Model View Controller - Fatal编程技术网

C# 与facebook共享Asp.NETMVC url

C# 与facebook共享Asp.NETMVC url,c#,asp.net,facebook,model-view-controller,C#,Asp.net,Facebook,Model View Controller,我在我的网站里有一个页面显示帖子的详细信息。url看起来像:mydomain/review/reviewdetails/id 注意:这里id是mvc参数,它将为每个帖子动态更改 现在的问题是,当我创建一个新的帖子时,一个新的id正在生成,新id的url与以前的url是分开的,因为id已经改变了。因此,我需要使用facebook调试器调试url,以便在共享时获得帖子的正确图像和描述 我卡住了。提前感谢您的帮助。完整代码示例 将代码示例复制并粘贴到您的网站。调整值 数据链接到您的网站URL。接下来使

我在我的网站里有一个页面显示帖子的详细信息。url看起来像:mydomain/review/reviewdetails/id

注意:这里id是mvc参数,它将为每个帖子动态更改

现在的问题是,当我创建一个新的帖子时,一个新的id正在生成,新id的url与以前的url是分开的,因为id已经改变了。因此,我需要使用facebook调试器调试url,以便在共享时获得帖子的正确图像和描述


我卡住了。提前感谢您的帮助。

完整代码示例

将代码示例复制并粘贴到您的网站。调整值 数据链接到您的网站URL。接下来使用og:**meta标记进行调整 你的链接预览。og:url和data href应使用相同的url


你的网站标题
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id))返回;
js=d.createElement;js.id=id;
js.src=”https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.0";
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);

请参见下面的解决方案:

***测试控制器

public ActionResult TestId(int? id)
{
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        News news = db.News.Find(id);
        if (news == null)
        {
            return HttpNotFound();
        }
        return View(news);
    }
***看法

@{
     string @url = "http://YOUR_URL/TEST/TestID/" + Html.DisplayFor(model => model.IdNews);
    string @fb_shared_page = "https://www.facebook.com/sharer/sharer.php?u=http%3A%2f%2fYOUR_URL%2fTEST%2fTestId2f" + Html.DisplayFor(model => model.IdNews) + "& src = sdkpreparse";
}

<div class="fb-share-button" data-href=" @url" data-layout="button" data-size="small">
   <a target="_blank" href="@fb_shared_page" class="fb-xfbml-parse-ignore">
      Shared
   </a>
 </div>
@{
字符串@url=”http://YOUR_URL/TEST/TestID/“+Html.DisplayFor(model=>model.IdNews);
字符串@fb_共享_页面=”https://www.facebook.com/sharer/sharer.php?u=http%3A%2f%2fYOUR_URL%2fTEST%2fTestId2f“+Html.DisplayFor(model=>model.IdNews)+”&;src=sdkpreparse”;
}
注:

  • 测试是你的控制器
  • TestId是TESTController上的函数,其id参数为整数
  • IdNews是从数据库表name News检索的Id(请参阅db.News Controller)

您到底需要什么帮助?不太清楚实际的问题应该是什么。请阅读。请遵循以下链接:mydomain/review/reviewdetails/2 mydomain/review/reviewdetails/3这两个链接我需要使用facebook调试器在共享时收集实际标题、图像和描述,尽管它们都来自一个页面。我清楚了吗?“虽然它们都来自一个页面”-这是两个不同的URL,因此它们被认为是两个不同的开放图形对象。“单页”在这方面没有任何意义。如果在第一个共享上获取数据在大部分时间都不起作用,通常意味着服务器响应速度太慢。解决方法是当你发布一个新的URL时,通过API(研究它)自动触发刮取。嗨,Phillips,谢谢你的回答,这是值得赞赏的。事实上,我以前做过所有这些,事实上,当我的链接变为mydomain/postdetails/13到mydomain/postdetails/14时,在我调试新url之前,图像不会显示出来。
@{
     string @url = "http://YOUR_URL/TEST/TestID/" + Html.DisplayFor(model => model.IdNews);
    string @fb_shared_page = "https://www.facebook.com/sharer/sharer.php?u=http%3A%2f%2fYOUR_URL%2fTEST%2fTestId2f" + Html.DisplayFor(model => model.IdNews) + "&amp; src = sdkpreparse";
}

<div class="fb-share-button" data-href=" @url" data-layout="button" data-size="small">
   <a target="_blank" href="@fb_shared_page" class="fb-xfbml-parse-ignore">
      Shared
   </a>
 </div>