asp.net MVC saving data problem.

Hi :slight_smile:
I didn’t want to write all of my code (it’s so dirty…) but finally decide to I should show this to ask help. :cry:

I’m making ‘Address book’ grid.
This grid can add row if want to save new address. But data doesn’t go into mssql database. Can you give me advice what is problem ?

Let me show you my project’s step.

  1. Fill the textbox in address book
  2. Click Submit button
  3. Add row
  4. Close window, open it
  5. Added row is gone…>>> This is what I have to solve.

[AdminController.cs]

[code]public ActionResult Index()
{
return View();
}

public ActionResult Data()
{
var context = new AddressDataContext();
return View(context.PSJuso2);
}

public ActionResult Save(PSJuso2 changedJuso, FormCollection form)
{
string action_type = form[“!nativeeditor_status”];
long source_id = long.Parse(form[“gr_id”]);
decimal target_id = decimal.Parse(form[“gr_id”]);

		var context = new AddressDataContext();

		try
		{
			switch (action_type)
			{
				case "inserted" :
					context.PSJuso2.InsertOnSubmit(changedJuso);
					break;
				case "deleted" :
					changedJuso = context.PSJuso2.SingleOrDefault(u => u.jIndex == source_id);
					context.PSJuso2.DeleteOnSubmit(changedJuso);
					break;
				default :
					changedJuso = context.PSJuso2.SingleOrDefault(u => u.jIndex == source_id);
					break;
			}
			context.SubmitChanges();
			target_id = changedJuso.jIndex;
		}
		catch (Exception e)
		{
			action_type = "error";
		}

		return View(new ActionResponseModel(action_type, source_id, target_id));
	}[/code]

[Index.aspx]
Grid

myGrid = new dhtmlXGridObject('gridbox'); myGrid.setImagePath("/Scripts/imgs/"); myGrid.setHeader("name,phone"); myGrid.setInitWidths("80,80"); myGrid.setColTypes("ed,ed"); myGrid.init(); myGrid.load("/Admin/Data?=" + myGrid.uid(), function () { myGrid.selectRow(0) //주황색 select 표시 });

DataProcessor

dp = new dataProcessor("/Admin/Save"); dp.setTransactionMode("POST", false); dp.enableDataNames(true); dp.init(myGrid);

Address book form

formText = [ { type: "settings", position: "label-left", inputWidth: 120, labelWidth: "80", labelAlign: "middle" }, { type: "block", inputWidth: "auto", list: [ { type: "input", label: "name", name: "name", inputHeight: "10" }, { type: "input", label: "phone", name: "phone", inputHeight: "10" } ] } ]; myText = new dhtmlXForm("myText", formText);

Save button

formRadio = [ { type: "button", name: "btnSave", value: "save", id: "btnSave", inputTop: -6 } ]; myForm = new dhtmlXForm("myForm2", formRadio);

Save button click Event

[code]myForm.attachEvent(“onButtonClick”, function (name) {
if (name == “btnSave”) {
var name = myText.getItemValue(“name”, true);
var phone = myText.getItemValue(“phone”, true);

				clear_filter();
				myGrid.addRow(myGrid.uid(), [name, phone]);
			}
		});[/code]

[Data.aspx]

[code]<%@ Page Language=“C#” Inherits=“System.Web.Mvc.ViewPage” ContentType=“text/xml” %>

<% foreach (var Address in Model) { %> ]]> ]]> <% } %> [/code]

Image is this :slight_smile:


Ohh… I solve that why it didn’t save!

myGrid.setColumnIds( … );

This is. :slight_smile: I didn’t attach it.

and, in the setCoulmnIds((here)) should be followed with SQL table column name. :open_mouth: