ข้อที่ 1 ผมต้องการ create country(ทำได้แล้ว)
ข้อที่ 2 ผมต้องการ create State อันนี้มีช่องตามในรูป แต่ระบบจะเรียกรายชื่อประเทศ ออกมาอยู่ใน DDL(dropdownlist) เพื่อเก็บ ID ของประเทศ (ยังทำไม่ได้)
ข้อที่ 3 ผมต้องการ create city ก็จะคล้ายๆกับ create State แต่จะเรียกรายชื่อ state และ country ออกมา(ยังทำไม่ได้)
หรือในความเข้าใจอีก 1 ข้อคือ เราอาจจะทำกลับกัน คือ เรียกรายชือประเทศให้แสดงใน DDL แล้วเพิ่ม state หรือ city โดย DDL ของ Country อาจจะอยู่ด้านบน และ ช่อง text box ของ state ก็จะอยู่ด้านล่าง ก็เหมือนกับ city ด้วยในกรณีนี้
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Contact.ViewModels;
using Contact.Models;
using System.ComponentModel.DataAnnotations;
namespace Contact.Controllers
{
public class StateController : Controller
{
//
// GET: /State/
public ActionResult Index()
{
var db = new Contact.ViewModels.IEOStudyDataContext();
return View(db.States);
}
//
// GET: /State/Details/5
public ActionResult Details(int id)
{
var db = new Contact.ViewModels.IEOStudyDataContext();
var state = db.States.SingleOrDefault(x => x.State_ID == id);
return View(state);
}
//
// GET: /State/Create
public ActionResult Create()
{
return View();
}
//
// POST: /State/Create
[HttpPost]
public ActionResult Create(State state)
{
if (ModelState.IsValid)
{
try
{
// TODO: Add insert logic here
var db = new Contact.ViewModels.IEOStudyDataContext();
db.States.InsertOnSubmit(state);
db.SubmitChanges();
return RedirectToAction("Index");
}
catch
{
return View(state);
}
}
return View(state);
}
//
// GET: /State/Edit/5
public ActionResult Edit(int id)
{
var db = new Contact.ViewModels.IEOStudyDataContext();
var state = db.States.SingleOrDefault(x => x.State_ID == id);
return View(state);
}
//
// POST: /State/Edit/5
[HttpPost]
public ActionResult Edit(int id, FormCollection collection)
{
var db = new Contact.ViewModels.IEOStudyDataContext();
var state = db.States.SingleOrDefault(x => x.State_ID == id);
if (ModelState.IsValid)
{
try
{
UpdateModel(state);
db.SubmitChanges();
return RedirectToAction("Index");
}
catch
{
return View(state);
}
}
return View(state);
}
//
// GET: /State/Delete/5
public ActionResult Delete(int id)
{
var db = new Contact.ViewModels.IEOStudyDataContext();
var state = db.States.SingleOrDefault(x => x.State_ID == id);
return View(state);
}
//
// POST: /State/Delete/5
[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
var db = new Contact.ViewModels.IEOStudyDataContext();
var statedel = db.States.SingleOrDefault(x => x.State_ID == id);
db.States.DeleteOnSubmit(statedel);
var state = db.States;
if (ModelState.IsValid)
{
try
{
// TODO: Add delete logic here
db.SubmitChanges();
return RedirectToAction("Index");
}
catch
{
return View(state);
}
}
return View(state);
}
}
}
public List<DropDownListProperties> ItemNoDropDown()
{
sql = " SELECT ITEM_NO";
sql += " FROM ............";
List<DropDownListProperties> listOfItemNo= new List<DropDownListProperties>();
if (conn.Connecting() == true)
{
resultData = conn.ExecuteSelectCommandSQL(sql);
if (resultData.Rows.Count > 0)
{
for (int i = 0; i < resultData.Rows.Count; i++)
{
var itemNoList = new DropDownListProperties
{
Text = resultData.Rows[i]["ITEM_NO"].ToString(),
Value = resultData.Rows[i]["ITEM_NO"].ToString()
};
listOfItemNo.Add(itemNoList);
}
}
/////////////////////
ลองดูเป็นแนวนะคับที่ผมเขียน
Date :
2011-02-01 11:19:36
By :
bmw
No. 5
Guest
แก้ไขส่วน controller
public DropDownListModel dropDownModel = new DropDownListModel();
public BuildSheetModel buildSheetModel = new BuildSheetModel();
public ActionResult Index()
{
ViewData["ProcessDropDown"] = dropDownModel.ProcessDropDown();
return View();
}