0

この条件は、ASPMVC3Webページの上部に設定されています。ただし、何らかの理由で、プログラムは毎回elseステートメントに分類され、ページの結果に完了のラベルが付けられます。現在テスト中なので、モデルがプルしているテーブルには2つのレコードしかなく、両方ともフィールドIにあります。RecordStatus

Model返されるオブジェクトがnullであるかどうかを確認するためにテストしましたが、そうではありません。また、内部の値をテストしたModel.RecordStatusところ、が出力されることがわかりましたI

誰かが私が見逃しているものを見ることができれば、それは大いにありがたいです。ありがとう

編集

RecordStatusは、常にIforIncompleteまたはforのCいずれかに等しくなりますComplete。それらは常に大文字になります。

@model Monet.Models.AgentTransmission

@{
    ViewBag.Title = "Edit";
}
<div>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>


@using (Html.BeginForm())
{
    @Html.ValidationSummary(true)

    <h2>Edit Agent - Record Status:    
    @if (Model.RecordStatus.Equals("I") || String.IsNullOrWhiteSpace(Model.RecordStatus))
    {
        <span style="color:Red;">Not Saved</span>
    }
    else
    {
        <span style="color:Black;">Complete</span>
    }    
    </h2>

スクリーンショット:

ここに画像の説明を入力してください

4

1 に答える 1

0

これは、コメントの提案に従って、潜在的な空白を排除することで解決されました。構文は次のとおりです。

Model.RecordStatus.Trim().Equals("I")
于 2013-02-07T16:35:37.960 に答える