hi everyone
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.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddEditBook1.aspx.cs" MasterPageFile="../AdminMaster.master" Inherits="AdminPanel_AddEditBook1" Title="Add or Edit Book Page"%>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPagePlaceHolder1" Runat="Server">
<div class="content">
<div class="titleMain">Library -> Add or Edit Book Page
</div>
<h1><span></span>Add or Edit Book Page</h1>
<div class="contentpage" >
<p>On this page you can Add or Edit Book Page</p>
<asp:Label ID="AddEditBookMsg" runat="server" Visible="false" />
<table width="650" class="table" cellspacing="15">
<tr>
<td>Book ID</td>
<td><asp:Label ID="BookId" runat="server" /></td>
</tr>
<tr>
<td>Book name</td>
<td><asp:TextBox ID="BookName" runat="server" /></td>
</tr>
<tr>
<td>Author</td>
<td><asp:TextBox ID="BookAuthor" runat="server" Text="" /></td>
</tr>
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 => b.book_id == book_id);
var bookDDL = from c in book.categories
select c;
var bookexistdesc = book.bookdescs.Single(bds => 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 => b1.book_id == book_id);
bookdesc bookexistdesc2 = book.bookdescs.Single(bds1 => 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();
}
}