【问题标题】:How to select first list item to null using Linq如何使用 Linq 将第一个列表项选择为空
【发布时间】:2015-02-02 12:12:00
【问题描述】:

您好,我有一个下拉列表,我正在尝试将第一个列表项设置为 null 并将文本设置为“---”,因此当从下拉列表中选择“---”时,该值将为null 所以在.aspx 页面中使用这样的Sql 数据源成功地做到了这一点

 <asp:SqlDataSource ID="sqsGetAllJobs" runat="server" 
                            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
                            SelectCommand=" SELECT Null [JOB_ID], '---' [JOB]
                            UNION
                            SELECT distinct [JOB_ID],[JOB] FROM [TNA].[vu_Position] where [JOB_ID] is not null and [JOB] is not null order by 2"></asp:SqlDataSource>

但我想使用 linq 查询来做到这一点,我已经尝试了所有的事情,但没有任何帮助..

【问题讨论】:

    标签: c# asp.net linq linq-to-sql


    【解决方案1】:

    使用此类和数据作为数据库实际架构/数据的模型:

    class vu_Position
    {
        public int? JOB_ID { get; set; }
        public string JOB { get; set; }
    }
    
    List<vu_Position> Positions = new List<vu_Position>
    {
        new vu_Position { JOB_ID = null, JOB = "A"},
        new vu_Position { JOB_ID = 1, JOB = "B"},
        new vu_Position { JOB_ID = 2, JOB = "C"},
        new vu_Position { JOB_ID = 3, JOB = null}
    };
    

    这是 linq 查询的一个版本,它模仿您的 SelectCommandSqlDataSource

     var selectedJobs = (from j in new List<vu_Position>() 
                                   { 
                                     new vu_Position() { JOB_ID = null, JOB = "---" } 
                                   }
                         select j)
    
                         .Union    
    
                         (from j in Positions
                          where j.JOB_ID != null && j.JOB != null
                          orderby j.JOB
                          select j);
    

    输出:

    【讨论】:

      【解决方案2】:

      你可以试试这样的:

      List<string> list = new List<string> {"1.5","2.5","3.1","4.2","" };
      
      var a = (
          from aa in list
          select  string.IsNullOrEmpty( aa) ? null : aa
          );
      

      希望对您有所帮助,如果您在创建列表项方面需要更多帮助,请咨询我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-21
        • 2014-09-14
        • 1970-01-01
        • 1970-01-01
        • 2012-03-21
        • 1970-01-01
        • 2018-02-12
        相关资源
        最近更新 更多