В настоящее время я создаю веб-сайт, который позволяет публиковать сообщения, сделанные пользователями на 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&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; }
}
}