Web Forms :: Save One Master And Multiple Detail Records On Single Button Click
Feb 18, 2013
i am working on project where i have one master table "PURCHASE_ORDER" with fields
order_no as primary key
vendor_id
order_date
and i have a detail table called "PURCHASE_ORDER_DETIALS" with fields
sno,order_no,item,qty,rate.
i am supposed to create a master detail form
where i am supposed to accept an order from an vendor with multiple items.
i.e the form shoud accept one master record and multiple detail records and then either save all of them or discard all of them(both master and multiple detail records).
I have an "Edit" page that uses a FormView bound to an EntityDataSource. The page is called with the ID field of the record to edit in the query string: "EditEmployee.aspx?ID=10". The EDS the FormView is bound to is using: AutoGenerateWhereClause=true and a QueryStringParameter. Below the FormView I have a ListView that contains some child records of the FormView. The ListView is bound to a seperate EDS and also uses the (same) QueryStringParameter.
The problem I am having is when this ListView attempts to Insert or Edt a column I receive an error because I don't have the ID field (EmployeeID) of the parent bound anywhere in the ListView (and obviously, it is setup as a ForeignKey so it fails, like it should). Any advice on the best way to get this ID (EmployeeID) column bound in the ListView? There are many things I can do in code behind, but I would like to solve this in the markup if possible. I can move the ListView so that it is inside of the FormView if necessary.
article on binding to a list and I've got that working fine on one view. But what I'm stuck when doing it off a master record. Everything seems to work except that when I look in the database the detail records previous associated with the current master have their Foriegn key to master set to Null and a new set of detail records have been inserted. I've got a really simple form for this object
[Code]....
The form collection comes back with the expected prefixes:
[Code]....
And the Controller.UpdateModel(master) binds all the properties correctly. But when I call dbContext.SaveChanges it issues the follow sql from sql profiler (psuedo code)
[Code]....
I've got a work around that works but it's pretty hackish and I'm currently not matching up the keys so it's dependent on everything coming back in the right order. Plus I've got to include all the fields that I want updated.
[Code]....
I thought that entity framework's code first was the culprite but I've unit test that and it works fine. I've got a feeling that UpdateModel is somehow removing and re-adding the children. Has anyone else got this to work? Of course, I could throw in the towel and parse the indexed field names myself, but I'm so close!
I have a single web page with master detail form/input layout. Currently the form works in a way like
User opens the page containing both master/detail data entry controls and enters the master information (The details save button is disabled)When he saves the master information, the save master button gets disabled and save details is enabled User continues to enter multiple details which get populated in a gridview at the bottom of page All works well Problem is that, the master part contains a lot of data entry controls (drop down lists gridviews etc)
How do I facilitate the user much more then the current layout? Should he be redirected to a new page after he enters the master record ? How can I improve on this?
I have reffered the Select and Upload Multiple Files Gmail Style using JQuery and ASP.Net to upload multiple files but i want to upload files in button click. how can i call the code in button click because above mentioned article uploads the file using upload .ashx?
I have a web form with about 43 textboxes....currently if the use clicks cancel...all the textboxes are assigned an empty string. That works but what i really want i a better way to do this instead of having each textbox listed.
I am creating a asp page with database values.And I am showing in Gridview.in addition I need checkbox for each row. When I mark checkbox the row values to be stored in another table.
As I am creating a asp page with database values.And I am showing in Gridview.in addition I need checkbox for each row. When I mark checkbox the row values to be stored in another table.
protected void Button2_Click(object sender, EventArgs e) { String a = DropDownList1.SelectedItem.Value; String b = DropDownList3.SelectedItem.Value.PadLeft(3, '0'); String c = TextBox2.Text.PadLeft(5,'0').ToString(); String d = TextBox3.Text.ToString(); String digit = a+ b + c + d; try { myConn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver};Server=localhost;Database=testcase;User=root;Password=root;Option=3;"); myConn.Open(); //** string sql = "select * from testcase.main where reg_no =?"; //** OdbcCommand cmd = new OdbcCommand(sql, myConn); //** cmd.Parameters.AddWithValue("?", digit); MyReader = cmd.ExecuteReader(); //** while (MyReader.Read()) { String f = MyReader["pet_name"].ToString(); String g = MyReader["res_name"].ToString(); Label9.Visible = true; Label9.Text = f; Label10.Visible = true; Label10.Text = "VS"; //Label11.Visible = true; Label11.Text = g; } MyReader.Close(); } catch (Exception e1) { Response.Write(e1.ToString()); } finally { if (MyReader != null && !MyReader.IsClosed) { MyReader.Close(); } if (myConn != null && myConn.State == ConnectionState.Open) { myConn.Close(); } }
I want to add another sql query which is using two tables to fetch the data and than i want to display it in a dropdownlist after fetching data from database. How should i proceed?? Should i create a totally new connection? I tried many different ways like, creating new connection and new reader and entire try and catch block i coded again but on running the website i t was taking very long to load the contents. What i did i modified only this portion(below code) and used the entire try catch again but it dint work.
while (MyReader1.Read()) { String f = MyReader1["ret"].ToString(); DropDownList1.Items.Add(f); }
I have two tables. One table containing 1 master record and the other table containing multiple records per 1 master record. I want to only display in a gridview (or whatever is best) the master record AND its assocated detail records IF certain fields in the detail records are there. I have been trying to figure out how to do this but I am still a bit of a newbie and I don't how I can do this.
how to run multiple queries on a single button click. Actually I want whatever a user write in text box and click the button the text would get inserted in table category and also a table name project should get updated. I am using Sql server 2005 and c#
I have 5 link buttons in my asp page, i want to change the text property of the each of the link button to the data retrieved from my database table in th page load. To be more specific i want to display 5 latest film news headings in my home page and if the user clicks on a particular news heading i want to show that news details in a separate page with all the details related to that news.
on my webpage having 5 gridview n when m click on PrintAll ... it combine all record in one gridview .....so wt can i do to get the Gridview as it is on after print .......n m rendering Div nt gridview . attaching code also.
I'm trying to setup is a News module with article listing paging and article detail paging. I have a GridView with paging that lists my articles just fine. In that list, some article titles have links that direct to an article detail page by passing in the articleID to the details page. I was able to setup my details page, which uses a DetailsView control, to use paging by using an ObjectDataSource with pageIndex and pageSize parameters from the querystring. Once on my detail page, I can use my navigation arrows to move through Next and Previous articles just fine.
No matter which article I click in my article list, my detail page always starts with pageIndex 0 and thus not the article I clicked on. I understand why that is because it's going by pageIndex value instead of articleID. What I need it to do is, set the detail to whatever articleID i pass in, then allow me to navigate Next and Previous to THAT particular article instead of starting me off from pageIndex 0.
My page (which basically contains a pair of Repeaters) renders and is displayed to the user.I'd like to have a "Download" button on the page which, when clicked, will propmt the user to save the page locally as an html file without losing any of the CSS formatting.
My CSS files are linked to via a Master Page.Currently, I have the button linked to some javascript that open will the Save As dialog, but all of the CSS formatting is lost, and it saves the page .I'm assuming that the button will need to open a new page which will re-create the data for the Repeaters and then save using StreamWriter, but I'm not exactly sure if that's right or how best to do it.
I've been experimenting with using EF (asp.net 3.5 sp1) with a master detail page. Using northwind as the database, I'm simply trying to have categories as master and products as detail. I have read everything I could find on the net about the where condition and it still fails with this error as soon as I click the select link in the master grid:
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerServerErrorException: A property with name 'CategoryID' does not exist in metadata for entity type 'WebAppEF01.Products'.
What strikes me is that the CategoryID column is not exposed by the EF model. That's been rolled up into the navigation element 'Categories' I suppose...but on the surface this seems to create the problem I've running in to. I've tried turning off the autogeneratewhere clause but didn't have success. The code for this page follows below.
my Master page placed textbox & link button. Linkbutton event raise only if clicked twice, is there anyway solution for raise the event in single click
I have few controls which r validated for blank on a page having 5 buttons
I want the validation to take place only on save button click & not on any other button
<asp:ValidationSummary ID="ValidationSummary1" HeaderText="You must enter a value in the following fields:" EnableClientScript="true" ShowMessageBox="true" ShowSummary="false" DisplayMode="BulletList" runat="server" />