Sto utilizzando un if else in vista del rasoio per verificare la presenza di valore nullo in questo modo:if altro rasoio non funziona
@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>
}
Tuttavia, non importa la mia somma modello è nullo o avere un valore, il html reso non contiene alcun valore nella quantità.
Mi chiedo perché questo sta accadendo. Qualche idea?
Grazie ...
EDIT:
Abbiamo deciso di ha fatto nel controllore:
// 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;
}
e chiamare il paesaggio come:
<td class="shoptableamount">
@Html.Action("GetItemAmount", "Shop", new { fid = item.ShopListFoodID })
</td>
Dovresti mostrarci come si presenta il Modello stesso, in particolare il campo Model.Amount. Forse prova @if (string.IsNullOrEmpty (item.Amount) invece? –
Ciao grazie per il tuo aiuto, ma l'importo è un decimale e se seguo quello che hai dichiarato qui, non ha funzionato, comunque fai riferimento alla mia modifica perché Ho deciso di farlo in controller Grazie :) – shennyL
Se la combinazione di altri in effetti non funziona in rasoio. – Anderson