0

データベースにIndustryタイプがあります。null の場合、次のようなエラーが表示されます。

「null 許容オブジェクトには値が必要です。」

値がnullの場合も空で表示したい。

これは私のコードです:

<p>
    <strong>Industry Type:</strong>
    <%: Model.GetIndustry(Model.IndustryId.Value).Name%>
</p>

誰にもアイデアがありますか?私を助けてください...

4

5 に答える 5

0

問題が見つかりました。

 <p>
    <strong>Industry Type:</strong>
    <% if (Model.IndustryId.HasValue)
      { %>
     <%: Model.GetIndustry(Model.IndustryId.Value).Name%>

     <%}
      else
      { %>
     <%:Model.IndustryId==null ? "": Model.GetIndustry(Model.IndustryId.Value).Name %>
     <%} %>
    </p>
于 2013-05-07T05:42:33.030 に答える
0

の行に沿って何かを試してください

<p>
    <strong>Industry Type:</strong>
    <%: Model.IndustryId.HasValue ? Model.GetIndustry(Model.IndustryId.Value).Name : string.Empty%>
</p>
于 2013-05-07T00:33:32.010 に答える
0

「von v」さんの回答と似ていますが、「Nullable object must have a value.」のエラーだと思います。は null 可能であるため、IndustryId から取得できるため、最初にそれを確認することをお勧めします。

 <p>
    <strong>Industry Type:</strong>
    <%:if(Model.IndustryId.HasValue)
    {
      var idustry =  Model.GetIndustry(Model.IndustryId.Value);
      if(industry!= null)
        industry.Name
    }
    else
    {
    ""
    }
%>        
</p>

私の意見では、これを行うのは良いことです

Model.GetIndustry()

コントローラーのようにバックエンドで、次のチェックインのように、viewstate によって業界を返します。

string industryName = "";
     if(Industry.IndustryId.HasValue){
    var industry = YourClass.GetIndustry(Industry.IndustryId.Value);
    industryName = industry!= null ? Industry.Name : "" ;
}
ViewBag.IndustryName= industryName;

次に、ViewBag をビューで次のように使用します。

<p>
    <strong>Industry Type:</strong>
    <%: ViewBag.IndustryName %>
</p>

ビューからチェックを分離し、コードでロジックを実行することをお勧めします。

それが役に立てば幸い。

于 2013-05-06T11:51:43.160 に答える