У меня есть простая, но, вероятно, распространенная проблема в том, как внедрить HTML в главную страницу ASP.NET MVC. У меня есть код отслеживания Google Analytics, который находится на моей главной странице. Код выглядит так:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-1']);
_gaq.push(['_trackPageview']);
// need to inject ecommerce code here
(function () {
// google analytics code here
})();
Я использую отслеживание электронной торговли и хочу ввести информацию о «корзине» в этот HTML-код на странице квитанции (и ТОЛЬКО на этой странице). Поэтому я делаю что-то вроде этого:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-1']);
_gaq.push(['_trackPageview']);
<% if(ViewData["googleanalytics"]!=null) {%>
<%= ViewData["googleanalytics"] %>
<% } %>
(function () {
// google analytics code here
})();
Затем в контроллере у меня есть код, который выглядит следующим образом:
[HttpGet]
public ActionResult Receipt()
{
var receipt = // get receipt model
// get google analytics javascript. This function pulls
// the data from the receipt model
ViewData["googleanalytics"] = GetAnalyticsInfo(receipt);
return View(receipt);
}
Эта штука кажется чем-то вроде клочья, и мне было интересно, есть ли у кого-нибудь лучшие идеи, чтобы справиться с этой ситуацией?