2015-07-20 20 views
0

..因此,我可以在_Layout文件中顯示特定的queryresult行。 結果是隨機排列的每頁只需要一個Databaserequest請求如何將SQL結果存儲在ASP.NET MVC

在_Layout.cshtml,(我要這兩種方法來顯示相同​​):

@{ Html.RenderAction("RegularAdV2", "AdV2", new { type = "panoramaxl", skip = 0 });} 

@{ Html.RenderAction("RegularAdV2", "AdV2", new { type = "panoramaxl", skip = 0 });} 

Childaction:

[ChildActionOnly] 
     public PartialViewResult RegularAdV2(string type,int skip) 
     { 


      AdViewModel ad = null; 
      if ("mobile".Equals(type)) 
      { 
       if (UserAgentHelper.CheckUserAgent((string)Request.UserAgent, Request.Browser.IsMobileDevice)) 
       { 
        ad = repository.MyAds(type, 3, true).Select(x => new AdViewModel { Script = x.AdExtra, ClickUrl = x.AdClickUrl, Place = x.PlacementName, Src = x.AdPath, Title = x.AdTitle }).Skip(skip).FirstOrDefault(); 

       } 
      } 
      else 
      { 
       if (!UserAgentHelper.CheckUserAgent((string)Request.UserAgent, Request.Browser.IsMobileDevice)) 
       { 
        ad = repository.MyAds(type, 3, false).Select(x => new AdViewModel { Script = x.AdExtra, ClickUrl = x.AdClickUrl, Place = x.PlacementName, Src = x.AdPath, Title = x.AdTitle }).Skip(skip).FirstOrDefault(); 

       } 
      } 

       return PartialView(ad); 


     } 

局部視圖:

@model Jaff.WebUI.Models.AdViewModel 

@if (Model != null) 
{ 
    if (string.IsNullOrEmpty(Model.Script)) 
    { 
     <p class="ad-presentation">Annons</p> 
     <a href="@Model.ClickUrl" target="_blank"><img alt="annons" class="ad-image" src="//ads.-------.se/AdFiles/img/@Model.Src"></a> 
    } 
    else 
    { 
     <p class="ad-presentation">Annons</p> 
     <div class="script-box">@Html.Raw(Model.Script)</div> 
    } 
} 

視圖模型:

namespace Jaff.WebUI.Models 
{ 
    public class AdViewModel 
    { 
     public string Src { get; set; } 
     public string Place { get; set; } 
     public string Title { get; set; } 
     public string ClickUrl { get; set; } 
     public string Script { get; set; } 
    } 
} 
+0

在Asp.net webforms中,這很容易。我可以在主頁中放置佔位符,並在其代碼隱藏中獲取數據...但是,我如何在MVC中執行操作? TempData是唯一的選擇嗎? –

+0

你需要更好地解釋我的想法。所有的東西都存儲在你的視圖模型中,你爲什麼還想將它添加到TempData中? –

+0

這兩個RenderAction方法怎麼不顯示相同? –

回答

0

我建議你可以使用Session變量來存儲你的sql結果,然後再使用它。 例如:Session [「SQLQueryData」] =結果

相關問題