2016-03-01 44 views
0

我想創建一個類似的日程表如下圖所示的圖像:大廈HTML日曆使用ASP.NET MVC剃刀

calendar sample image

我有以下代碼:

<table> 

@for(var item = Model.StartDate; item <=Model.StartDate.AddDays(7); item = item.AddDays(1)) 
{ 
    <th>@item.ToString("ddd")</th> 

    <tr> 
    <td>@item.ToString("MMM") @item.ToString("dd")</td> 
    </tr> 
} 



</table> 

哪當然不會產生正確的結果。我能做些什麼來產生圖像中顯示的結果?我不在乎這些不活躍的日期。

+0

你的HTML是無效。 ''需要嵌套在''中。另外,你只是想創建標題行? – zgood

+0

請檢查我想要創建的圖像中的佈局。 – JohnDoe

+0

是的,我看到佈局圖像,但在上面的代碼中,它看起來像只渲染標題。另外,你有任何CSS? – zgood

回答

0

這應該讓你更接近(你必須自己動手HTML和時間);

的觀點:

<table> 
    <thead> 
     <tr> 
      @for (int i = 0; i < Model.NumberOfDays; i++) 
      { 
       <th> 
        @Model.StartDate.AddDays(i).ToString("ddd") 
       </th> 
      } 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      @for (int i = 0; i < Model.NumberOfDays; i++) 
      {    
       <td>@Model.StartDate.AddDays(i).ToString("MMM") @Model.StartDate.AddDays(i).ToString("dd")</td> 
      } 
     </tr> 
    </tbody> 
</table> 

在控制器中的動作:

public ActionResult Index()  
{  
    CalendarViewModel model = new CalendarViewModel 
     { 
      NumberOfDays = 7, 
      StartDate = DateTime.Now 
     }; 
     return View(model); 

} 

視圖模型:

public class CalendarViewModel 
{ 
    public int NumberOfDays { get; set; } 
    public DateTime StartDate { get; set; } 
} 
+0

您的HTML無效。這會創建7個''元素。 ''元素也需要''和''元素。見[這裏](http://www.w3schools.com/tags/tag_thead.asp)以供參考 – zgood

+0

@zgood感謝您的評論,我已經更新了答案。希望現在它更加正確。 – andreasnico

1

你的HTML應該看起來更像是這樣的:

<table> 
    <thead> 
     <tr> 
      @for(var item = Model.StartDate; item <=Model.StartDate.AddDays(7); item = item.AddDays(1)) 
      { 
       <th> 
        <b>@item.ToString("ddd")</b> 
        <div>@item.ToString("MMM") @item.ToString("dd")</div> 
       </th> 
      } 
     </tr> 
    </thead> 
    <tbody> 
     <!-- Load rows --> 
    </tbody> 
</table> 

這只是給你一個無風格的表頭。如果所有時間範圍數據只是靜態的(不取決於StartDate是什麼),因爲它出現在圖像中 - 你說的不活動並不重要 - 那麼就把它全寫出