我現在問自己,如果我在剃刀視圖中使用了太多的邏輯。在Asp.Net Mvc的剃鬚刀視圖中有多少邏輯是合理的?
我學會了分離邏輯和標記,但剃刀給了我們很好的工作機會。我非常喜歡有機會在下面的例子中給出「動態」的css類。
我確定我所做的並不是最佳實踐,但它會如何正確完成?
@using AtheleteManager.Helpers
@using AtheleteManager.Models
@using Microsoft.Ajax.Utilities
@model AtheleteManager.Models.Athlete
<div class="container col-lg-9 col-md-9 hidden-sm hidden-xs panel panel-primary topten padding-leftright-thirty">
<div class="panel-heading negative-margin-leftright-thirty">
<h1 id="">Timeline</h1>
</div>
<div id="timeline">
<div class="row timeline-movement timeline-movement-top">
<div class="timeline-badge timeline-future-movement">
<a href="#">
<span class="glyphicon glyphicon-plus"></span>
</a>
</div>
</div>
<div class="row timeline-movement">
@foreach (var trainingPost in Model.TrainingPosts)
{
string className;
string offSet;
string debitsOrCredits;
var dateHelper = new DateHelper();
<div class="timeline-badge">
<span class="timeline-balloon-date-day">@trainingPost.Date.Day</span><br />
<span class="timeline-balloon-date-month">@dateHelper.ToShortMonthName(trainingPost.Date)</span>
</div>
if (trainingPost.Id % 2 != 0)
{
className = "col-sm-6 timeline-item";
offSet = "col-sm-11";
debitsOrCredits = "credits";
}
else
{
className = "col-sm-offset-6 col-sm-6 timeline-item";
offSet = "col-sm-offset-1 col-sm-11";
debitsOrCredits = "debits";
}
foreach (var executedWorkouts in trainingPost.ExecutedWorkouts)
{
<div class="@className">
<div class="row">
<div class="@offSet">
<div class="timeline-panel @debitsOrCredits">
<ul class="timeline-panel-ul">
<li>
<p>
<small class="text-muted"><i class="glyphicon glyphicon-time"></i> @trainingPost.Date.ToShortDateString()</small>
</p>
</li>
<li><span class="importo">Workout</span></li>
<li>
<h3>@executedWorkouts.Workout.Name</h3>
</li>
<li><span class="causale"> <b>@executedWorkouts.Workout.Rounds</b></span> </li>
</ul>
</div>
</div>
</div>
</div>
}
}
</div>
</div>
</div>