我有一个mvc视图,需要显示twitter提要。所以我在我的视图中有从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);
}
答案 0 :(得分:3)
在控制器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>
祝你好运
答案 1 :(得分:1)
您可以使用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,因此代码不能完全正常运行。
检查here以获取有关Razor Framework的更多信息。