54

dataitem がNull表示される場合0

<asp:Label ID="Label18" Text='<%# Eval("item") %>' runat="server"></asp:Label>

どうすればこれを達成できますか?

4

11 に答える 11

67

ページでパブリック メソッドを作成し、それをコード イン フロントから呼び出すこともできます。

たとえば、C# を使用している場合:

public string ProcessMyDataItem(object myValue)
{
  if (myValue == null)
  {
     return "0 value";
  }

  return myValue.ToString();
}

次に、コードインフロントのラベルは次のようになります。

<asp:Label ID="Label18" Text='<%# ProcessMyDataItem(Eval("item")) %>' runat="server"></asp:Label>

申し訳ありませんが、このコードをテストしていないため、" <%# ProcessMyDataItem(Eval("item")) %>" の構文が完全に正しいとは保証できません。

于 2009-12-30T12:14:39.077 に答える
51

私はこれを文字列値に使用しています:

<%#(String.IsNullOrEmpty(Eval("Data").ToString()) ? "0" : Eval("Data"))%>

null 許容値に次を使用することもできます。

<%#(Eval("Data") == null ? "0" : Eval("Data"))%>

また、.net 4.5 以降を使用している場合は、強く型付けされたデータ バインディングを使用することをお勧めします。

<asp:Repeater runat="server" DataSourceID="odsUsers" ItemType="Entity.User">
    <ItemTemplate>
        <%# Item.Title %>
    </ItemTemplate>
</asp:Repeater>
于 2011-09-07T15:29:56.970 に答える
13

VB.Net には以下を使用します。

<%# If(Eval("item").ToString() Is DBNull.Value, "0 value", Eval("item")) %>
于 2013-07-02T13:14:09.823 に答える
4

それもうまくいくはずです

Eval("item") == null?"0": Eval("item");
于 2012-01-04T16:08:45.157 に答える
3

さらに、この場合は(x = Eval( "item")?? 0)を使用できます。

http://msdn.microsoft.com/en-us/library/ms173224.aspx

于 2010-01-13T09:19:10.740 に答える
1

ASP.NETはよくわからないのですが、三項演算子は使えますか?

http://en.wikipedia.org/wiki/Ternary_operation

次のようなもの: (x=Eval("item")) == Null ? 0 : ×

于 2009-12-30T12:00:44.623 に答える
1

役に立つかもしれないこのコードを試してください -

<%# ((DataBinder.Eval(Container.DataItem,"ImageFilename").ToString()=="") ? "" :"<a
 href="+DataBinder.Eval(Container.DataItem, "link")+"><img
 src='/Images/Products/"+DataBinder.Eval(Container.DataItem,
 "ImageFilename")+"' border='0' /></a>")%>
于 2013-06-13T05:32:22.630 に答える
0

(または、C# を使用している場合は ) に置き換え<%# Eval("item") %>てみてください。<%# If(Eval("item"), "0 value") %><%# Eval("item") ?? "0 value" %>

于 2009-12-30T11:58:51.737 に答える
0

IIF を使用します。

<asp:Label ID="Label18" Text='<%# IIF(Eval("item") Is DBNull.Value,"0", Eval("item") %>' 
runat="server"></asp:Label>
于 2011-03-17T09:46:38.550 に答える