У меня есть приложение, где у меня есть страница блогов. Я добавил кнопку социального обмена на страницу своего блога. Но моя проблема в том, как получить закодированный URL-адрес и передать его в URL-адрес социального доступа. Я имею в виду эту статью. https://www.c-sharpcorner.com/UploadFile/cd7c2e/sharing-url-on-facebok-using-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>




Чтобы создать кнопки публикации для вашего блога, вам понадобится URL-адрес страницы, которой вы хотите поделиться. Чтобы получить URL-адрес страницы, вы можете использовать @ Request.Url. В некоторых ссылках вам также нужно добавить некоторую другую информацию из вашей модели. Давайте посмотрим на них по очереди.
Facebook:
<a href = "https://www.facebook.com/sharer/[email protected]">
<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>
Гугл плюс:
<a href = "https://plus.google.com/[email protected]">
<i class = "fa fa-google-plus"></i>
</a>
вам не нужно ничего менять. просто скопируйте их. @ Request.Url - это Razor C#. Чтобы более подробно ознакомиться с этой функцией, вы можете перейти по этой ссылке: docs.microsoft.com/en-us/dotnet/api/…
Предполагается, что вы предоставили URL-адрес, используя свойства модели просмотра, как в примере ниже:
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][email protected](Model.UrlAddress)&p[images]=&p[title][email protected]&p[summary][email protected]">
<!-- Google Plus -->
<a href = "https://plus.google.com/[email protected](Model.UrlAddress)">
<!-- Pinterest -->
<a href = "http://pinterest.com/pin/create/button/[email protected](Model.UrlAddress)&[email protected]">
Если вы хотите получить 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);
Как мне получить @ Request.Url?