Obsługa wartosci null w Templatefield

0

Witam,

Problem mój polega na tym że chciałbym obsłużyć wartość null dla kolumny ShortName jednak w przypadku gdy to null występuje pojawia się ciągle puste pole zamiast komunikatu "-- brak --" próbowałem na różne sposoby za każdym razem zamiast odpowiedniego komunikatu dalej jest pusta komórka.

<asp:SqlDataSource ID="SelectSubjectsSDS" runat="server" ConnectionString="<%$ ConnectionStrings:zaplanuj.eu %>" SelectCommand="SELECT [Subject_Id], [Name], [ShortName] FROM [Subjects] WHERE ([User_Id] = @User_Id AND [TypeSchool] = @TypeSchool)">
                                    <SelectParameters>
                                        <asp:ControlParameter Type="String" Name="User_Id" ControlID="UserId" />
                                        <asp:ControlParameter Type="Int32" Name="TypeSchool" ControlID="TypeSchoolDDL" />                                  
                                    </SelectParameters>
                                </asp:SqlDataSource>
                                <asp:GridView ID="SubjectsGV" runat="server"
                                    DataSourceID="SelectSubjectsSDS"
                                    AutoGenerateColumns="false"
                                    DataKeyNames="Subject_Id"
                                    AutoGenerateEditButton="true"
                                    EmptyDataText="Nie znaleziono żadnych danych">
                                    <Columns>
                                        <asp:TemplateField HeaderText="Skrót">
                                            <ItemTemplate>
                                                <asp:Label ID="SelectSubjectShortNameL" runat="server" Text='<%# Bind("ShortName") == null ? "-- brak --" : Bind("ShortName") %>' />
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                    </Columns>
                                </asp:GridView>
0
 Bind("ShortName") == null || Bind("ShortName") == ""
0

Użyj String.IsNullOrEmpty(string s);

0

Dostaje błąd gdy używam bind bądź eval, próbowałem także zamienić null na "" jednak dalej jest puste miejsce:

 <%# String.IsNullOrEmpty(Eval("ShortName")) ? "-- brak --" : Bind("ShortName") %>

Compiler Error Message: CS1502: The best overloaded method match for 'string.IsNullOrEmpty(string)' has some invalid arguments
0

Po małej modyfikacji działa, jednak nie rozumiem czym się różni eval od bind

<%# string.IsNullOrEmpty(Eval("ShortName").ToString()) ? "-- brak --" : Eval("ShortName") %> 

1 użytkowników online, w tym zalogowanych: 0, gości: 1