У меня есть приложение, где у меня есть страница блогов.Я добавил кнопку обмена в соцсетях на мою страницу блогов.Но моя проблема в том, как получить закодированный 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>
Предполагается, что вы указали 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 атрибут ссылок привязки:
@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:
HttpContext.Current.Request.Url.AbsoluteUri
Request.Url.AbsoluteUri
var model = new Mybolgs(); model.UrlAddress = HttpContext.Current.Request.Url.AbsoluteUri; // other properties return View(model);
Чтобы создать кнопки обмена для вашего блога, вам нужен 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>