Używam if else w świetle Razor aby sprawdzić wartość null jak ten:jeśli else w Razor nie funkcjonuje
@foreach (var item in Model)
{
<tr id="@(item.ShopListID)">
<td class="shoptablename">@Html.DisplayFor(modelItem => item.Name)
</td>
<td class="shoptableamount">
@if (item.Amount == null)
{
Html.Display("--");
}
else
{
String.Format("{0:0.##}", item.Amount);
}
</td>
</tr>
}
Jednak bez względu na mój kwota model jest zerowy lub posiadające wartość, Wyrenderowany w html nie zawiera żadnej wartości.
Zastanawiam się, dlaczego tak się dzieje. Dowolny pomysł?
Dzięki ...
EDIT:
Postanowiliśmy zrobił to w kontrolerze:
// Function to return shop list food item amount
public string GetItemAmount(int fid)
{
string output = "";
// Select the item based on shoplistfoodid
var shopListFood = dbEntities.SHOPLISTFOODs.Single(s => s.ShopListFoodID == fid);
if (shopListFood.Amount == null)
{
output = "--";
}
else
{
output = String.Format("{0:0.##}", shopListFood.Amount);
}
return output;
}
i zadzwonić na widok jak:
<td class="shoptableamount">
@Html.Action("GetItemAmount", "Shop", new { fid = item.ShopListFoodID })
</td>
Będziesz musiał pokazać nam, jak wygląda sam Model, szczególnie pole Model.Amount. Może wypróbujesz @if (string.IsNullOrEmpty (item.Amount) zamiast? –
Cześć dzięki za twoją pomoc, ale kwota jest dziesiętna i jeśli podążę za tą, o której tutaj mowa, to nie działała. W każdym razie, proszę odwołaj się do mojej edycji, ponieważ Decyduję się zrobić to w kontrolerze :) dziękuję :) – shennyL
Jeśli jeszcze kombinacja rzeczywiście nie działa w brzytwie. – Anderson