but i can not add any keyword to PaperKeywords table.
Hello:)
I found that because btnSavePaper_click and AddKeyWord_Click are two different events,so everytime when you first add either of the buttons,the whole class will be rendered to be recreated again,So Paper class will be initialized again and again,which causes
the problem that you can never get the original one。
Lotfinejad
Member
20 Points
13 Posts
can not add new row to child table in linq to sql
Jun 02, 2012 09:31 AM|LINK
I write the below code, but i can not add any keyword to PaperKeywords table.
Papers Table is master and Keyword is child...
<div>public partial class Author_NewSubmission : System.Web.UI.Page
{
string UserID;
Guid gUID=Guid.Empty;
SubmissionDataContext SubDC = new SubmissionDataContext();
Paper newPaper = new Paper();
protected void Page_Load(object sender, EventArgs e)
{
MembershipUser loggedinUser = Membership.GetUser();
UserID = loggedinUser.ProviderUserKey.ToString();
gUID = new Guid(UserID);
newPaper.PaperTitle = "New Title";
newPaper.UserID = gUID;
}
protected void btnAddKeyword_Click(object sender, EventArgs e)
{
PaperKeyword newPaperKeyword = new PaperKeyword();
newPaperKeyword.Keyword =txtKeyword.Text;
newPaper.PaperKeywords.Add(newPaperKeyword);
if (lblKeywords.Text != "")
lblKeywords.Text += ", " + txtKeyword.Text;
else
lblKeywords.Text = txtKeyword.Text;
txtKeyword.Text = "";
}
</div>protected void btnSavePaper_Click(object sender, EventArgs e)
{
SubDC.Papers.InsertOnSubmit(newPaper);
SubDC.SubmitChanges();
}
}
Decker Dong ...
All-Star
118619 Points
18779 Posts
Re: can not add new row to child table in linq to sql
Jun 04, 2012 01:21 AM|LINK
Hello:)
I found that because btnSavePaper_click and AddKeyWord_Click are two different events,so everytime when you first add either of the buttons,the whole class will be rendered to be recreated again,So Paper class will be initialized again and again,which causes the problem that you can never get the original one。
So I suggest you do this:
public partial class Author_NewSubmission : System.Web.UI.Page { …………………… PaperKeyword newPaperKeyword = null; protected void Page_Load(object sender, EventArgs e) { ……………… } protected void btnAddKeyword_Click(object sender, EventArgs e) { newPaperKeyword = new PaperKeyword(); newPaperKeyword.Keyword =txtKeyword.Text; Paper newPaper = new Paper(); newPaper.PaperKeywords.Add(newPaperKeyword); if (lblKeywords.Text != "") lblKeywords.Text += ", " + txtKeyword.Text; else { lblKeywords.Text = txtKeyword.Text; txtKeyword.Text = ""; } ViewState["np"] = newPaper; } protected void btnSavePaper_Click(object sender, EventArgs e) { SubDC.Papers.InsertOnSubmit(ViewState["np"] as Paper); SubDC.SubmitChanges(); } }