Внедрение кнопки «Поделиться с Facebook» на моем ASP. Net MVC веб-сайте - PullRequest
0 голосов
/ 21 апреля 2020

В настоящее время я создаю веб-сайт, который позволяет публиковать сообщения, сделанные пользователями на Facebook, с помощью кнопки. Я использую EF6. В настоящее время я пытаюсь построить это на своей странице /Posts/Details.cshtml.

Вот что у меня есть:

@model CourseWork.Models.Post

@{
    ViewBag.Title = "Details";
}

<div id="fb-root"></div>
<script async defer crossorigin="anonymous"
        src="https://connect.facebook.net/en_GB/sdk.js#xfbml=1&version=v6.0&appId=myAppID&autoLogAppEvents=1">
</script>

<h2>Details</h2>

<div>
    <h4>Post</h4>
    <hr />

    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.User.Email)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.User.Email)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.Title)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.Title)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.TextBody)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.TextBody)
        </dd>

        <dt>
            @Html.DisplayNameFor(model => model.DateTime)
        </dt>

        <dd>
            @Html.DisplayFor(model => model.DateTime)
        </dd>


    </dl>
</div>

<div>
    Allows Comments
    @Html.ActionLink("View Comments", "Index", "PostComments")
</div>
<div>
    Allows the signing of the post.
    @Html.ActionLink("Sign Here", "Edit", "Signatures")

</div>
<p>
    @Html.ActionLink("Add Comment", "", "PostComments") |
    @Html.ActionLink("Edit", "Edit", new { id = Model.Id }) |
    @Html.ActionLink("Back to List", "Index")
</p>

<div class="fb-share-button" data-href="https://localhost/44376/Posts/Details/(some id value)"
     data-layout="button_count" data-size="small">
    <a target="_blank"
       href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flocalhost%2F44376%2FPosts%2FIndex&amp;src=sdkpreparse"
       class="fb-xfbml-parse-ignore">Share</a>
</div>

Кнопка отображается очень хорошо и даже позволяет кликать по нему. Тем не менее, он не заполняет детали о самом отображаемом сообщении. Он также жалуется на то, что приведенный мною data-href является stati c, поэтому в любом посте, когда я нажимаю поделиться, один из жестко закодированных пытается поделиться - это явно неправильно. Всю помощь, которую я нашел до сих пор, ждут вещи в стиле href. Я подумал, что способ MVC работает с использованием

Текущие ссылки также являются локальными и вызывают проблемы. Facebook Share не поддерживает localhost? Любые статьи будут с благодарностью. У меня есть универсальный контроллер c CRUD EF. Вот моя модель.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;

namespace CourseWork.Models
{
    public class Post
    {
        //Scalar
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public virtual Guid Id { get; set; }

        public virtual Guid UserId { get; set; }

        public virtual string Title { get; set; }
        [DisplayName("Text")]
        public virtual string TextBody { get; set; }
        [DisplayName("Created On")]
        public virtual DateTime DateTime { get; set; }
        [DisplayName("Signitures")]
        public virtual int SignitureValue { get; set; }

        public ICollection<Signature> Signitures { get; set; }
        //Navigational
        public virtual User User { get; set; }

        public virtual ICollection<PostComment> PostComments { get; set; }

    }
}
...