【问题标题】:Populating textboxes using LINQ2SQL使用 LINQ2SQL 填充文本框
【发布时间】:2011-05-13 19:19:38
【问题描述】:

在我的 Web 表单中,我有文本框和一个单选列表,我需要通过 LINQ2SQL 查询来填充它们。到目前为止,我编写了这个查询来获取将被填充到数据库中的特定记录。

 using (dbTestDataContext db = new dbTestDataContext())
        {
            var query = from r in db.Table1
                        where r.Code == getCode
                        select new
                        {
                            //Account Info
                            r.Name,
                            r.Num,
                            r.AcctNum,
                            r.CorpAcct, //Bool


                        };
        };

现在我知道该查询将要获取的记录将只有 1 个唯一记录。我想在这些文本框中显示记录并选择该单选按钮:

tb名称
tbNum
tbAcctNum
rbtnCorpAcct

我应该怎么做?提前谢谢!

【问题讨论】:

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


    【解决方案1】:

    很简单:

     using (dbTestDataContext db = new dbTestDataContext())
            {
                var query = (from r in db.Table1
                            where r.Code == getCode
                            select new
                            {
                                //Account Info
                                r.Name,
                                r.Num,
                                r.AcctNum,
                                r.CorpAcct, //Bool
    
    
                            }).FirstOrDefault();
    
                 if (query != null)
                 {
                    tbName.Text = query.Name;
                    tbNum.Text = query.Num;
                    //and so on
                    rbl.SelectedValue = query.SomeValue;
                 }
            };
    

    【讨论】:

    • 单选按钮列表怎么样?
    • 以上更新,设置选中值。
    【解决方案2】:

    与其他人回答的一样,添加了单选按钮:

    tbName.Text = query.Name;
    tbNum.Text = query.Num;
    tbAcctNum.Text = query.AcctNum;
    
    if(query.CorpAcct)
        rbtn.SelectedValue = "Yes"; \\Where "Yes" is one of the radio button values
    else
        rbtn.SelectedValue = "No";
    
    \\Could also use SelectedIndex, rbtn.SelectedIndex = 0 or 1
    

    【讨论】:

    • 谢谢安德鲁。没有为 radiobuttonlist 定义为 rbtn.Checked 的属性。
    • 以为它只是一个 RadioButton。对于列表,您必须选择“是”单选按钮的值。
    【解决方案3】:

    尝试以下方法:

    using (dbTestDataContext db = new dbTestDataContext())
    {
        var query = 
        (
            from r in db.Table1
            where r.Code == getCode
            select new
            {
                //Account Info
                r.Name,
                r.Num,
                r.AcctNum,
                r.CorpAcct, //Bool
            }
        ).FirstOrDefault();
    
        tbName.Text = query.Name;
    
        ....
    
    };
    

    【讨论】:

    • 单选按钮列表怎么样?
    • 糟糕!我的错...我删除了它。
    • @klm9971: RadioButtonList.Items[ItemIndex].Selected = BooleanValue;
    【解决方案4】:

    您需要做的第一件事是从查询中检索单个结果。正如你所写的那样,你正在返回一个 IQueryable 对象,该对象现在存储在变量“query”中

    要获取单个对象,请执行此操作

    var myObject = query.SingleOrDefault();
    

    然后您可以访问该对象的各个属性并像这样分配它们

    tbName.Text = myObject.Name

    【讨论】:

      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多