繁体   English   中英

将值从控制器传递到mvc5中的javascript中

[英]Passing values from controller into javascript in mvc5

我有一个mvc视图,该视图需要显示twitter feed。 所以我认为从Twitter生成的代码在我看来。 这很好。

为了扩展这一点,我想使其变得动态。 即我想将data-widget-id="3831079557xxxx"硬编码为数据库表中的值。

以下是Twitter生成的用于嵌入推文的javascript

<div class="row">
   <div class="col-md-12">
      <a class="twitter-timeline" href="https://twitter.com/xxxxx" 
          data-widget-id="3831079557xxxx">Tweets by xxxx</a>
              <script>!function (d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https'; if (!d.getElementById(id)) { js = d.createElement(s); js.id = id; js.src = p + "://platform.twitter.com/widgets.js"; fjs.parentNode.insertBefore(js, fjs); } }(document, "script", "twitter-wjs");</script>



                </div>
            </div>

查看模型:

public class homeViewModel
{
    public List<news> newsA { get; set; }

    public List<Rss> feeds { get; set; }

    public List<HomepageSetting> hps { get; set; }

}

型号:这是我可以从中获取推特ID的类

public partial class HomepageSetting
    {
        public int Id { get; set; }
        //other properties
        public string Twitter { get; set; }

    }

控制器:

public ActionResult Index()
    {
        homeViewModel hvm = new homeViewModel();
        var data = (from p in db.HomepageSetting where p.ProfileID == Cuser.ProfileId select p);
                hvm.hps= data.ToList();
     return View(hvm);
     }

在控制器的Index方法中,可以使用ViewData Dictionary将ID传递给视图:

ViewData["id"] = data.id //for example.

在视图中,可以使用ViewData["id"]条目将其分配给data-widget-id属性。

<a class="twitter-timeline" href="https://twitter.com/xxxxx" 
          data-widget-id="<%: ViewData["id"] %>">Tweets by xxxx</a>

祝好运

您可以使用Razor Framework并在javascript中

@foreach (var myItem in Request.ServerVariables)
{
    <a class="twitter-timeline" href="https://twitter.com/xxxxx" 
          data-widget-id="3831079557@myItem ">Tweets by xxxx</a>
}

我无法为您提供更多解释性代码,因为这是我在MVC4上所做的工作。 我不再使用Microsoft Framework,因此该代码将无法完全正常运行。

在Razor Framework中也可以在此处查看更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM