[英]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.