title: Update in asp.net with linq not working
body: <p>I have a strange problem. I am trying to update some fields using linq and it is not working. I tried to build the site and debug it which works and shows that the function is called. I also tried manually adding the values in the code behind file and that works too but somehow on runtime the form doesnt pass the values back from the text fields.</p>
  
  <pre><code>&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddEditBook1.aspx.cs" MasterPageFile="../AdminMaster.master" Inherits="AdminPanel_AddEditBook1" Title="Add or Edit Book Page"%&gt;
  
  &lt;asp:Content ID="Content1" ContentPlaceHolderID="ContentPagePlaceHolder1" Runat="Server"&gt;
  &lt;div class="content"&gt; 
      &lt;div class="titleMain"&gt;Library -&gt; Add or Edit Book Page
      &lt;/div&gt;
      &lt;h1&gt;&lt;span&gt;&lt;/span&gt;Add or Edit Book Page&lt;/h1&gt;
  
      &lt;div class="contentpage" &gt;
          &lt;p&gt;On this page you can Add or Edit Book Page&lt;/p&gt;
  
          &lt;asp:Label ID="AddEditBookMsg" runat="server" Visible="false" /&gt;
  
              &lt;table width="650"  class="table" cellspacing="15"&gt;
                  &lt;tr&gt;
                      &lt;td&gt;Book ID&lt;/td&gt;
                      &lt;td&gt;&lt;asp:Label ID="BookId" runat="server" /&gt;&lt;/td&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;
                      &lt;td&gt;Book name&lt;/td&gt;
                      &lt;td&gt;&lt;asp:TextBox ID="BookName" runat="server" /&gt;&lt;/td&gt;
                  &lt;/tr&gt;
                  &lt;tr&gt;
                      &lt;td&gt;Author&lt;/td&gt;
                      &lt;td&gt;&lt;asp:TextBox ID="BookAuthor" runat="server" Text="" /&gt;&lt;/td&gt;
                  &lt;/tr&gt;
  </code></pre>
  
  <p>Code:</p>
  
  <pre><code>using System;
  using System.Collections;
  using System.Configuration;
  using System.Data;
  using System.Linq;
  using System.Web;
  using System.Web.Security;
  using System.Web.UI;
  using System.Web.UI.HtmlControls;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;
  using System.Xml.Linq;
  
  public partial class AdminPanel_AddEditBook1 : System.Web.UI.Page
  {
      // book represents 3 tables
      protected void Page_Load(object sender, EventArgs e)
      {
          AddEditBookMsg.Visible = false;
          if (Request["book_id"] != null)
          {
              GetExistingBook();
          }
      }
  
      public void GetExistingBook()
      {
          BooksDataContext book = new BooksDataContext();
          int book_id = Int32.Parse(Request["book_id"].ToString());
          var bookexist = book.books.Single(b =&gt; b.book_id == book_id);
          var bookDDL = from c in book.categories
                        select c;
          var bookexistdesc = book.bookdescs.Single(bds =&gt; bds.book_id == book_id);
          if (bookexist.book_id == book_id)
          {
              BookName.Text = bookexist.book_name;
              BookAuthor.Text = bookexist.book_author;
              BookShortDesc.Text = bookexist.book_short_desc;
              BookLongDesc.Text = bookexistdesc.book_long_desc;
              BookImg.Text = bookexist.book_img;
              BookSqu.Text = bookexist.book_squ;
              BookArrived.Text = bookexist.book_arrived.ToString();
              BookQty.Text = bookexist.book_qty.ToString();
  
              if (!Page.IsPostBack)
              {
                  CaID.DataSource = bookDDL;
                  CaID.DataTextField = "ca_name";
                  CaID.DataValueField = "ca_id";
                  CaID.DataBind();
              }
          }
      }
  
      protected void update_Click(object sender, EventArgs e)
      {
          BooksDataContext book = new BooksDataContext();
  
          int book_id = Int32.Parse(Request["book_id"].ToString());
          book bookexist2 = book.books.Single(b1 =&gt; b1.book_id == book_id);
          bookdesc bookexistdesc2 = book.bookdescs.Single(bds1 =&gt; bds1.book_id == book_id);
  
  
          bookexist2.book_name = BookName.Text;
          bookexist2.book_author = BookAuthor.Text.ToString();
          bookexist2.book_short_desc = BookShortDesc.Text;
  
          bookexist2.book_img = BookImg.Text;
          bookexist2.book_squ = BookSqu.Text;
          bookexist2.book_arrived = DateTime.Parse(BookArrived.Text);
          bookexist2.book_qty = Int32.Parse(BookQty.Text);
  
          bookexistdesc2.book_long_desc = BookLongDesc.Text;
          book.SubmitChanges();
      }
  }
  </code></pre>