首页 > 解决方案 > 与 facebook 共享 Asp.Net MVC url

问题描述

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

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

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

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

标签: c#asp.netfacebookmodel-view-controller

解决方案


请看下面的解决方案:

*** 测试控制器

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>

笔记:

  • 测试是你的控制器
  • TestId 是您在 TESTController 上的函数,其 id 参数为整数
  • IdNews 是您从数据库表名 News 中检索的 Id(参见 db.News 控制器)

推荐阅读