J'ai un problème étrange. J'essaie de mettre à jour certains champs à l'aide de linq et cela ne fonctionne pas. J'ai essayé de construire le site et de le déboguer, ce qui fonctionne et montre que la fonction est appelée. J'ai aussi essayé d'ajouter manuellement les valeurs dans le fichier code behind et cela fonctionne aussi mais d'une manière ou d'une autre lors de l'exécution, le formulaire ne transmet pas les valeurs des champs texte.
<%@ 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();
}
}