как получить закодированный URL для передачи в социальной сети URL - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть приложение, где у меня есть страница блогов.Я добавил кнопку обмена в соцсетях на мою страницу блогов.Но моя проблема в том, как получить закодированный URL-адрес и передать его в URL-адрес общего доступа.Я имею в виду эту статью.https://www.c -sharpcorner.com / UploadFile / cd7c2e / обмен-URL-на-Facebok-используя-Asp-Net / .Здесь, в этой статье, URL-адрес предопределен.но мне нужно получить динамический URL.Как получить URL-адрес и перейти к URL-адресу для общего доступа?

Вот мой код:

@model Blog.Models.Mybolgs
@{
    ViewBag.Title = Model.br_title + " : Travel Blogs";
}
<ul class="ct-socials">
    <li>
        <a href="http://www.facebook.com/sharer/sharer.php?s=100&p[url]=http://www.c-sharpcorner.com/conference2014/#Register&p[images]=&p[title]=&p[summary]=">
            <i class="fa fa-facebook"></i>
        </a>
    </li>
    <li>
        <a href="https://plus.google.com/share?url=YOURURLHERE">
            <i class="fa fa-google-plus"></i>
        </a>
    </li>
    <li>
        <a href="http://pinterest.com/pin/create/button/?url=<URL>&description=<TITLE>">
            <i class="fa fa-pinterest"></i>
        </a>
    </li>
</ul>
<div class="grid-11 left">
    <div style="padding:1px">
        <img class="polaroid" src="~/Imgaes/polaroid.png" />
        <p>
            @Html.Raw(Model.br_message)
        </p>
    </div>
</div>

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Предполагается, что вы указали URL-адрес, используя свойства viewmodel, как в примере ниже:

public class Mybolgs
{
    public string UrlAddress { get; set; }
    public string Title { get; set; }
    public string Summary { get; set; }
}

И назначьте URL-адрес сайта внутри действия контроллера следующим образом:

var model = new Mybolgs();
model.UrlAddress = "https://example.com/path/to/share";
// other properties

return View(model);

Тогда вы можетеиспользуйте @Url.Encode() помощник для вставки их в качестве параметров строки запроса в href атрибут ссылок привязки:

<!-- Facebook -->
<a href="http://www.facebook.com/sharer/sharer.php?s=100&p[url]=@Url.Encode(Model.UrlAddress)&p[images]=&p[title]=@Model.Title&p[summary]=@Model.Summary">

<!-- Google Plus -->
<a href="https://plus.google.com/share?url=@Url.Encode(Model.UrlAddress)">

<!-- Pinterest -->
<a href="http://pinterest.com/pin/create/button/?url=@Url.Encode(Model.UrlAddress)&description=@Model.Title">

Если вы хотите получить URL текущей страницы в действии контроллераи передайте его для привязки ссылок в виде закодированного URL, используйте HttpContext.Current.Request.Url.AbsoluteUri (или просто проще Request.Url.AbsoluteUri) вместо жестко закодированной строки URL:

var model = new Mybolgs();
model.UrlAddress = HttpContext.Current.Request.Url.AbsoluteUri;
// other properties

return View(model);
0 голосов
/ 17 декабря 2018

Чтобы создать кнопки обмена для вашего блога, вам нужен URL страницы, которой вы хотите поделиться.Чтобы получить URL страницы, вы можете использовать @Request.Url.В некоторых ссылках вам также нужно добавить некоторую другую информацию из вашей модели.Давайте посмотрим на них один за другим.

Facebook:

<a href="https://www.facebook.com/sharer/sharer.php?u=@Request.Url">
        <i class="fa fa-facebook"></i>
    </a>

Twitter:

<a href="@string.Concat("https://twitter.com/home?status=","%0A",@Request.Url)">
        <i class="fa fa-Twitter"></i>
    </a>

Linkedin:

<a href="@string.Concat("https://www.linkedin.com/shareArticle?mini=true&url=",@Request.Url, "&title=",@Model.TitleOfPost,"&summary=",@Model.PostSummary )">
        <i class="fa fa-Linkedin"></i>
    </a>

Google Plus:

<a href="https://plus.google.com/share?url=@Request.Url">
        <i class="fa fa-google-plus"></i>
    </a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...