【问题标题】:What is the best way to databind Web Form controls to linq objects?将 Web 窗体控件数据绑定到 linq 对象的最佳方法是什么?
【发布时间】:2009-12-24 02:19:00
【问题描述】:

我有一个典型的对象(它来自 Linq,但可以手动创建):

public class Person
{
  public string FirstName{get; set;}
  public string LastName{get; set;}
  public int Age{get; set;}
}

我有一个 Web 表单,用户可以在其中输入这些数据:

<asp:TextBox runat="server" ID="FirstName"></asp:TextBox>
<asp:TextBox runat="server" ID="LastName"></asp:TextBox>
<asp:TextBox runat="server" ID="Age"></asp:TextBox>

如何将数据从控件绑定到类? 我可以这样做:

Person person;
person.FirstName = FirstName.Text;

但是在类或 Linq 自动吸收 Control 值的情况下,还有什么更好的方法吗?

【问题讨论】:

    标签: asp.net linq data-binding forms


    【解决方案1】:

    ASP.NET MVC 会为您创建这些表单并在回发时填写这些值。这是一个example,两者都完成了。

    【讨论】:

    • 我知道,我想知道 Web 表单中是否有类似的东西?
    • @Petras ASP.NET 是开源的,所以你可以尝试使用 DefaultBinder 的代码。或者自己实现,对于简单的模型来说应该很简单。
    【解决方案2】:
    DataClassesDataContext db = new DataClassesDataContext();
    
    //Some Event
    
    protected void btn_Submit_Click(object sender, System.EventArgs e)
    {
    
       Person NewP = new Person();
       NewP.FirstName = FirstName.Text;
       NewP.LastName = LastName.Text;
       ...
    
       db.Persons.InsertOnSubmit(NewP);
    
       try 
       {
          db.SubmitChanges();
       }
       catch (Exception ex) 
       {
          Response.Write(ex.ToString);
       }
    }
    

    【讨论】:

    • 我希望有一些机制可以自动化这条线 NewP.FirstName = FirstName.Text;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    相关资源
    最近更新 更多