Error executing template "Designs/BioLegend/QueryPublisher/CytokinesChemokinesSpecificities.cshtml"
System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at CompiledRazorTemplates.Dynamic.RazorEngine_96653367524d40979ccd1be441d0ba7d.Execute() in f:\Domains\Sites\www.biolegend.com\Files\Templates\Designs\BioLegend\QueryPublisher\CytokinesChemokinesSpecificities.cshtml:line 272
at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
at Dynamicweb.Rendering.Template.RenderRazorTemplate()
1 @inherits RazorTemplateBase<RazorTemplateModel<Template>>
2 @using Dynamicweb;
3 @using Dynamicweb.Frontend;
4 @using Dynamicweb.Rendering;
5 @using System;
6 @using System.IO;
7 @using System.Web;
8 @using System.Data;
9 @using System.Text;
10 @using System.Text.RegularExpressions;
11 @using BioLegend.Ecommerce.LiveIntegration;
12 @using System.Collections.Generic;
13 @using System.Web.Script.Serialization;
14 @using System.Linq;
15 @using System.Collections;
16 @using System.Runtime.Caching;
17 @{
18 // List view by cookie ot parameter
19 string listView = System.Web.HttpContext.Current.Request.Cookies["dataList"] != null ? System.Web.HttpContext.Current.Request.Cookies["dataList"].Value : "";
20 listView = System.Web.HttpContext.Current.Request.Params["view"] != null ? (System.Web.HttpContext.Current.Request.Params["view"].ToString() == "detail" ? "detailedView" : "") : listView;
21 var item = Pageview.Area.Item;
22
23 //-- REDIRECT
24 // If is the ExploreNewProducts page, redirect and put some parameters to filter
25
26 if( Pageview.Page.ID.ToString() != (item["LiveSearchPage"] ?? "").ToString() && Pageview.Page.ID.ToString() == (item["ExploreNewProducts"] ?? "").ToString() && (System.Web.HttpContext.Current.Request.QueryString["DateReleasedMin"] == null || System.Web.HttpContext.Current.Request.QueryString["DateReleasedMax"] == null)){
27 string redirect = String.Format("Default.aspx?ID={0}&DateReleasedMin={1}&DateReleasedMax={2}", Pageview.Page.ID.ToString(), DateTime.Today.AddMonths(-6).ToString("yyyy-MM-dd"), DateTime.Today.ToString("yyyy-MM-dd"));
28 if(System.Web.HttpContext.Current.Request.Params["view"] == null && !String.IsNullOrEmpty(listView)) {
29 redirect = redirect + "&view=detail";
30 }
31 BioLegend.Shared.WebUtility.Redirect(Dynamicweb.Frontend.SearchEngineFriendlyURLs.GetFriendlyUrl(redirect));
32 }
33 var loop_subgroups = GetLoop("Subgroups").OrderBy(o => o.GetString("Ecom:Group.Name")).ToList();
34 // If have subgroups, redirecto to the groups list page
35 if(loop_subgroups.Any()){
36 string redirect = "/"+item["GroupsPage"].ToString()+"&GroupID="+System.Web.HttpContext.Current.Request.QueryString["GroupID"].ToString();
37 BioLegend.Shared.WebUtility.Redirect(redirect);
38 }
39
40
41 var loopProduct = GetLoop("Products");
42 string currentPageId = Pageview.Page.ID.ToString();
43 bool isWebserviceAvailable = TemplatesHelper.IsWebServiceConnectionAvailable();
44 var contentSearchPage = item["ContentSearchPage"];
45 // SORT BY
46 string sortByName = "Name_sortable,Price";
47 string sortByClone = "CloneIndexed,Name_sortable,Price";
48 string sortByMatch = "-_score,CloneIndexed,Name_sortable,Price";
49 string sortByApplication = "AppAbrvString,Name_sortable,Price";
50 string sortByRegulatoryStatus = "CustomField_RegulatoryStatus,Name_sortable,Price";
51 string str_sortOrder = System.Web.HttpContext.Current.Request.Params["SortOrder"] ?? "";
52 string str_sortBy = System.Web.HttpContext.Current.Request.Params["SortBy"] ?? "";
53 string str_pageSize = System.Web.HttpContext.Current.Request.Params["PageSize"] ?? "25";
54 string str_keywordsParam = System.Web.HttpContext.Current.Request.Params["Keywords"] ?? "";
55 string str_k1 = System.Web.HttpContext.Current.Request.Params["k1"] ?? "";
56 string str_GeneIDParam = System.Web.HttpContext.Current.Request.Params["GeneID"] ?? "";
57 string str_SpecificityParam = System.Web.HttpContext.Current.Request.Params["Specificity"] ?? "";
58 string str_paramGroupID = System.Web.HttpContext.Current.Request.Params["groupid"] ?? "";
59 bool isASimpleSearch = (System.Web.HttpContext.Current.Request.QueryString.Count <=3 && !String.IsNullOrEmpty(str_keywordsParam) && !String.IsNullOrEmpty(str_k1)) || (System.Web.HttpContext.Current.Request.QueryString.Count <=2 && !String.IsNullOrEmpty(str_keywordsParam));
60
61 str_sortBy = str_sortBy.Replace("%2C",",");
62 string str_FormatsParam = System.Web.HttpContext.Current.Request.Params["Format"] ?? "";
63 string str_CloneParam = System.Web.HttpContext.Current.Request.Params["Clone"] ?? "";
64
65
66
67 string groupLink = GetString("Ecom:Group:Field.LandingPageLink.Value.Clean");
68 string searchPageID = item["SearchResults"].ToString();
69 string detailPageID = item["ProductDetail"].ToString();
70 string detailPunchoutPageID = item["Punchout_ProductDetail"] != null ? item["Punchout_ProductDetail"].ToString() : "";
71 string liveSearchPage = item["LiveSearchPage"] != null ? item["LiveSearchPage"].ToString() : "";
72 string liveSearchPagePunchout = item["Punchout_LiveSearchPage"] != null ? item["Punchout_LiveSearchPage"].ToString() : "";
73 string addToCart = item["AddToCart"] != null ? item["AddToCart"].ToString() : "";
74 bool cartDisabled = Convert.ToBoolean(item["DisableAddToCart"].ToString());
75 string orderContext = item["OrderContext"] != null ? item["OrderContext"].ToString() : "";
76 bool isConnectionAvailable = GetBoolean("Item.Area.DisableCheckout.Value") || !TemplatesHelper.IsWebServiceConnectionAvailable() ? false : true;
77 string inactiveButtonClass = isConnectionAvailable ? "addToCart" : "addToCart inactive";
78 string str_liveSearchFormat = System.Web.HttpContext.Current.Request.Params["Format"] ?? "";
79 string str_liveSearchReactivity = System.Web.HttpContext.Current.Request.Params["Reactivity"] ?? "";
80 string str_liveSearchCellType = System.Web.HttpContext.Current.Request.Params["CellType"] ?? "";
81 string str_liveSearchRegulatoryStatus = System.Web.HttpContext.Current.Request.Params["RegulatoryStatus"] ?? "";
82 string str_liveSearchProductType = System.Web.HttpContext.Current.Request.Params["ProductType"] ?? "";
83 string str_liveSearchApplications = System.Web.HttpContext.Current.Request.Params["Applications"] ?? "";
84 string str_liveSearchCompanyOld = System.Web.HttpContext.Current.Request.Params["CompanyOld"] ?? "";
85
86 string sortByNameSelected = str_sortBy == sortByName ? "sortActive" : "";
87 string sortByCloneSelected = (str_sortBy == sortByClone || str_sortBy == "" ) ? "sortActive" : "";
88 string sortByApplicationsSelected = str_sortBy == sortByApplication ? "sortActive" : "";
89 string sortByRegulatoryStatusSelected = str_sortBy == sortByRegulatoryStatus ? "sortActive" : "";
90
91 string colGroup = (!cartDisabled ? "col-xs-offset-7" : "col-xs-offset-7");
92
93 var prodLoop = loopProduct.Where(x => !string.IsNullOrWhiteSpace(x.GetString("Ecom:Product.Number"))).GroupBy(x => x.GetString("Ecom:Product.ID")).ToList();
94 var prodLoopCount = prodLoop.Count;
95
96
97 // --------------------
98
99 string str_imagesFolder = "/Files/Files/BioLegend/Products/";
100 string navEnvironment = item["NavEnvironment"] != null ? item["NavEnvironment"].ToString() : "";
101 string str_pagingHref = "";
102 bool bol_userLogged = Dynamicweb.Security.UserManagement.User.IsExtranetUserLoggedIn();
103 string siteCurrency = Dynamicweb.Frontend.PageView.Current().Area.EcomCurrencyId;
104 string userCurrency = bol_userLogged ? Dynamicweb.Security.UserManagement.User.GetCurrentUser().Currency : siteCurrency;
105
106 Dictionary<string, string> productTypes = new Dictionary<string, string>();
107 productTypes.Add("AncillaryProducts", "Ancillary");
108 productTypes.Add("BuffersSolutionsChemicals", "Ancillary");
109 productTypes.Add("CellBiologyAntibodies", "PrimaryAntibodies");
110 productTypes.Add("CellSeparation", "MojoSort");
111 productTypes.Add("CytokineChemokineAntibodies", "PrimaryAntibodies");
112 productTypes.Add("ELISAMAXLEGENDMAX", "ELISA");
113 productTypes.Add("EpitopeTagProducts", "PrimaryAntibodies");
114 productTypes.Add("HumanImmunologyAntibodies", "PrimaryAntibodies");
115 productTypes.Add("IsotypeControls", "IsotypeControls");
116 productTypes.Add("LEGENDplex", "LEGENDplex");
117 productTypes.Add("LEGENDScreen", "LEGENDScreen");
118 productTypes.Add("MarmosetImmunologyAntibodies", "PrimaryAntibodies");
119 productTypes.Add("MouseImmunologyAntibodies", "PrimaryAntibodies");
120 productTypes.Add("NeuroscienceProducts", "PrimaryAntibodies");
121 productTypes.Add("RatImmunologyAntibodies", "PrimaryAntibodies");
122 productTypes.Add("RecombinantProteins", "Recombinant");
123 productTypes.Add("SecondaryReagents", "SecondaryReagents");
124 productTypes.Add("VirusImmunologyAntibodies", "PrimaryAntibodies");
125 productTypes.Add("EnzymeAssays", "EnzymeAssays");
126 productTypes.Add("FlexT", "FlexT");
127 productTypes.Add("NonAntibodyChemicalProbes", "NonAntibodyChemicalProbes");
128 int pageCal = 0;
129 string previousElement = "";
130 string longLang = (string)GetGlobalValue("Global:Area.LongLang");
131 var loop_productList3 = GetLoop("Ecom:ProductList.Pages3");
132 int itemsCount = 0;
133
134 // Helpers to verify variants at the same product in a different page
135 @helper ShowTextAboutMoreOptionsInPreviousOrNextPages(List<LoopItem> loopProduct, bool isToPageBefore = false)
136 {
137 if(loopProduct.Any()) {
138 string countVariantsWithSameProdId = string.Empty;
139 string countTotalOfVariantsForProd = string.Empty;
140 string translateText = string.Empty;
141 string positionClass = "moreVariantsBefore";
142 int totalPages = GetInteger("Ecom:ProductList.TotalPages");
143
144 if(isToPageBefore) {
145 countVariantsWithSameProdId = loopProduct.Where(p => p.GetString("Ecom:Product.ID") == loopProduct.First().GetString("Ecom:Product.ID")).Count().ToString();
146 countTotalOfVariantsForProd = loopProduct.Select(p => p.GetString("Ecom:Product.ActiveVariantCount")).First().ToString();
147 translateText = Translate("SeeMoreSizeOptionsForThisProductOnThePreviousPage","See more size options for this product on the previous page.");
148
149 }
150 else {
151 countVariantsWithSameProdId = loopProduct.Where(p => p.GetString("Ecom:Product.ID") == loopProduct.Last().GetString("Ecom:Product.ID")).Count().ToString();
152 countTotalOfVariantsForProd = loopProduct.Select(p => p.GetString("Ecom:Product.ActiveVariantCount")).Last().ToString();
153 translateText = Translate("SeeMoreSizeOptionsForThisProductOnTheNextPage","See more size options for this product on the next page.");
154 positionClass = "moreVariantsNext";
155 }
156
157 if(countVariantsWithSameProdId != countTotalOfVariantsForProd && totalPages > 1) {
158 <div class="@positionClass col-xs-12">@translateText</div>
159 }
160
161 }
162 }
163 }
164
165 @using System.Collections.Specialized;
166 @using System.Linq
167 @functions {
168
169 public string LocalizeLinksHTML (string HtmlContent){
170 int areaID = Pageview.Area.ID;
171 var area = Dynamicweb.Services.Areas.GetArea(areaID);
172 string areaCulture = area.Culture.ToLower();
173 if(!string.IsNullOrEmpty(HtmlContent)){
174 if(HtmlContent.IndexOf("dwcountry") > -1){
175 return HtmlContent.Replace("dwcountry",areaCulture);
176 } else{
177 return HtmlContent;
178 }
179
180 } else {
181 return HtmlContent;
182 }
183
184 }
185
186 public string LocalizeLinks (string HtmlContent){
187 int areaID = Pageview.Area.ID;
188 var area = Dynamicweb.Services.Areas.GetArea(areaID);
189 string areaCulture = area.Culture.ToLower();
190 if(!string.IsNullOrEmpty(HtmlContent)){
191 if(HtmlContent.IndexOf("dwcountry") > -1){
192 return HtmlContent.Replace("dwcountry",areaCulture);
193 } else if (HtmlContent.IndexOf("?ID=") > -1) {
194 //do something
195 string baseHref = String.Format("https://{0}",GetGlobalValue("Global:Request.Host"));
196 HtmlContent = HtmlContent.Contains("http") ? HtmlContent : baseHref + "/" + HtmlContent;
197 var uri = new Uri(HtmlContent,UriKind.RelativeOrAbsolute);
198 var parsedQuery = HttpUtility.ParseQueryString(uri.Query);
199 var pageID = parsedQuery.Get("ID");
200
201 string pageVersionID = pageID;
202 string localizedLink = HtmlContent;
203 if (!string.IsNullOrEmpty(pageID)){
204 var pageService = new Dynamicweb.Content.PageService();
205 var linkPage = pageService.GetPagesByAreaID(areaID).FirstOrDefault(x => x.MasterPageId == int.Parse(pageID));
206 pageVersionID = linkPage != null ? linkPage.ID.ToString() : pageID ;
207
208 localizedLink = ModifyQueryStringValue(HtmlContent,"ID",pageVersionID);
209 }
210 //return string.Join(",", parsedQuery.AllKeys);
211 //return string.Join(HtmlContent,"-",pageVersionID);
212 return localizedLink;
213 } else {
214 return HtmlContent;
215 }
216 }else {
217 return HtmlContent;
218 }
219
220 }
221
222 private string ModifyQueryStringValue(string p_query, string p_Name, string p_NewValue)
223 {
224 Uri uri = new Uri(p_query,UriKind.RelativeOrAbsolute);
225 //if(p_query.Contains("http"))
226 //{
227 //uri = new Uri(p_query);
228 //} else {
229 //uri = new Uri(p_query, UriKind.Relative);
230 //}
231 //uri = new Uri(p_query);
232
233
234
235 var nameValues = HttpUtility.ParseQueryString(uri.Query);
236 nameValues.Set(p_Name, p_NewValue);
237 string url = uri.AbsolutePath + "?" + nameValues.ToString();
238 return url;
239 }
240 }
241
242
243 @if( GetLoop("QueryResultItem").Any() ){
244 string str_productJSON = "";
245 string prevSpec = "";
246
247 List<string> cytokines = new List<string>();
248 Dictionary<string, Dictionary<string, Dictionary<string, string>>> dic_product = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
249 Dictionary<string, Dictionary<string, string>> dic_thisProd = new Dictionary<string, Dictionary<string, string>>();
250
251 foreach ( var result in GetLoop("QueryResultItem") )
252 {
253
254 string format = result.GetString("Format").ToString();
255 string specificityAlt = result.GetString("SpecificityAlt").ToString();
256 string specificity = result.GetString("Specificity").ToString();
257 string productType = result.GetString("CMProductType").ToString();
258 cytokines.Add(specificity);
259
260 if( prevSpec.Equals(specificity) ){
261
262 string formats = dic_thisProd[specificity]["format"];
263 formats = formats + "," + format;
264 dic_thisProd[specificity]["format"] = formats;
265
266 }
267 else{
268 Dictionary<string, string> ccInfo = new Dictionary<string, string>();
269 ccInfo.Add("specificityalt", specificityAlt);
270 ccInfo.Add("format", format);
271 ccInfo.Add("producttype", productType);
272 dic_thisProd.Add(specificity, ccInfo);
273 prevSpec = specificity;
274 }
275
276
277 }
278
279
280
281 //dic_product.Add("Products", dic_thisProd);
282 //str_productJSON = new JavaScriptSerializer().Serialize(dic_product);
283 //<div>@str_productJSON</div>
284 var noDupes = cytokines.Distinct().ToList();
285 <div id="cytokineToolsTableWrapper">
286 <table id="cytokineToolsTable">
287 <thead>
288 <tr>
289 <th id="ccSpecificity" class="cttSpecClone">Cytokine</th>
290 <th class="cctGroup">Fluor Conjugated Ab</th>
291 <th class="cctGroup">Recombinant</th>
292 <th class="cctGroup">ELISA</th>
293 <th class="cctGroup">Multiplex</th>
294 <th class="cctGroup">Purified Ab</th>
295 <th class="cctGroup">Biotinylated Ab</th>
296 <th class="cctGroup">Purified (Maxpar® Ready)</th>
297 </tr>
298 </thead>
299 <tbody>
300 @foreach (var result in noDupes){
301 var specSearch = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result);
302 var formatList = dic_thisProd[result]["format"];
303 var specAlt = dic_thisProd[result]["specificityalt"];
304 string[] formats = formatList.Split(',');
305 string fluor = "";
306 string recombinant = "";
307 string elisa = "";
308 string multiplex = "";
309 string pure = "";
310 string biotin = "";
311 string puremax = "";
312 string fluorLink = "";
313 string recombinantLink = "";
314 string elisaLink = "";
315 string multiplexLink = "";
316 string pureLink = "";
317 string biotinLink = "";
318 string puremaxLink = "";
319 string fluorLinkCode = "";
320 string recombinantLinkCode = "";
321 string elisaLinkCode = "";
322 string multiplexLinkCode = "";
323 string pureLinkCode = "";
324 string biotinLinkCode = "";
325 string puremaxLinkCode = "";
326
327
328 if( formats.Contains("BIOTIN") || formats.Contains("BIOTIN_AF") || formats.Contains("BIOTIN_COCKTAIL") || formats.Contains("BIOTIN_FAB") || formats.Contains("Biotin_RECOM") )
329 {
330 biotinLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=BIOTIN&Format=BIOTIN_AF&Format=BIOTIN_COCKTAIL&Format=BIOTIN_FAB&Format=Biotin_RECOM");
331 biotin = "<i class=\"fa fa-check\"></i>";
332 biotinLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + biotinLink + "\" target=\"_blank\">" + biotin + "</a>";
333 }
334 if( formats.Contains("LPLEX") )
335 {
336 multiplexLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=LPLEX");
337 multiplex = "<i class=\"fa fa-check\"></i>";
338 multiplexLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + multiplexLink + "\" target=\"_blank\">" + multiplex + "</a>";
339 }
340 if( formats.Contains("ELISAKit") || formats.Contains("ELISA") || formats.Contains("ELISA_DLX") || formats.Contains("ELISA_STD") || formats.Contains("LEGEND MAX") )
341 {
342 elisaLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=ELISA&Format=ELISAKit&Format=ELISA_DLX&Format=ELISA_STD&Format=LEGEND MAX");
343 elisa = "<i class=\"fa fa-check\"></i>";
344 elisaLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + elisaLink + "\" target=\"_blank\">" + elisa + "</a>";
345 }
346 if( formats.Contains("RECOM") || formats.Contains("RECOM_STANDARD") )
347 {
348 recombinantLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=RECOM&Format=RECOM_STANDARD");
349 recombinant = "<i class=\"fa fa-check\"></i>";
350 recombinantLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + recombinantLink + "\" target=\"_blank\">" + recombinant + "</a>";
351 }
352 if( formats.Contains("PUREMAX") )
353 {
354 puremaxLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=PUREMAX");
355 puremax = "<i class=\"fa fa-check\"></i>";
356 puremaxLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + puremaxLink + "\" target=\"_blank\">" + puremax + "</a>";
357 }
358 if( formats.Contains("PURE") || formats.Contains("PUREAF") || formats.Contains("LEAF") || formats.Contains("ULEAF") || formats.Contains("GOCHIPGRADE") )
359 {
360 pureLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=PURE&Format=PUREAF&Format=LEAF&Format=ULEAF&Format=GOCHIPGRADE");
361 pure = "<i class=\"fa fa-check\"></i>";
362 pureLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + pureLink + "\" target=\"_blank\">" + pure + "</a>";
363 }
364 if( formats.Contains("A488") || formats.Contains("A594") || formats.Contains("A647") || formats.Contains("A700") || formats.Contains("APC") || formats.Contains("APC_CY7") || formats.Contains("APC_CYANINE7") || formats.Contains("APC_F750") || formats.Contains("BV421") || formats.Contains("BV510") || formats.Contains("BV570") || formats.Contains("BV605") || formats.Contains("BV650") || formats.Contains("BV711") || formats.Contains("BV750") || formats.Contains("BV785") || formats.Contains("FITC") || formats.Contains("PB") || formats.Contains("PE") || formats.Contains("PE_CY5") || formats.Contains("PE_CY7") || formats.Contains("PE_CYANINE7") || formats.Contains("PE_DZL594") || formats.Contains("PE_F780") || formats.Contains("PERCP") || formats.Contains("PERCP_CY55") || formats.Contains("PERCP_CYANINE5.5") || formats.Contains("SPKBL_550") || formats.Contains("SPKNIR_685") )
365 {
366 fluorLink = LocalizeLinksHTML("/dwcountry/search-results?Specificity=" + result + "&Format=A488&Format=A594&Format=A647&Format=A700&Format=APC&Format=APC_CY7&Format=APC_CYANINE7&Format=APC_F750&Format=BV421&Format=BV510&Format=BV570&Format=BV605&Format=BV650&Format=BV711&Format=BV750&Format=BV785&Format=FITC&Format=PB&Format=PE&Format=PE_CY5&Format=PE_CY7&Format=PE_CYANINE7&Format=PE_DZL594&Format=PE_F780&Format=PERCP&Format=PERCP_CY55&Format=PERCP_CYANINE5.5&Format=SPKBL_550&Format=SPKNIR_685");
367 fluor = "<i class=\"fa fa-check\"></i>";
368 fluorLinkCode = "<span style=\"display:none;\">x</span><a href=\"" + fluorLink + "\" target=\"_blank\">" + fluor + "</a>";
369 }
370 //if(dic_thisProd[result])
371 <tr class="checks">
372 <td class="cttSpecClone"><span style="display:none;">@result</span><a href="@specSearch" target="_blank">@specAlt</a></td>
373 <td class="cttItem">@fluorLinkCode</td>
374 <td class="cttItem">@recombinantLinkCode</td>
375 <td class="cttItem">@elisaLinkCode</td>
376 <td class="cttItem">@multiplexLinkCode</td>
377 <td class="cttItem">@pureLinkCode</td>
378 <td class="cttItem">@biotinLinkCode</td>
379 <td class="cttItem">@puremaxLinkCode</td>
380 </tr>
381 }
382
383 </tbody>
384 </table>
385 </div>
386
387
388
389 }
390
Follow Us