2011-05-09 2 views
2

데이터베이스에서 채워진 두 개의 DropDownLists와 버튼으로 구성된 아주 간단한 페이지가 있습니다. 페이지의 목적은 사용자가 데이터베이스에서 항목을 삭제할 수있게하는 것입니다. 단추를 클릭하면 원하는 대상을 삭제하기 위해 간단한 LINQ 쿼리가 실행되고 드롭 다운 목록에서 항목이 제거되지만 SubmitChanges()이 호출 되더라도 응답이 해당 기능에서 리디렉션되지 않으면 작동하지 않습니다. 왜 이런 일이 일어 났을까요?데이터베이스 또는 페이지 컨트롤에 변경 사항을 제출할 수 없습니다.

편집 : 코드 우리는 당신의 코드를보다 아마 도움이 볼 필요가

protected void Page_Init(object sender, EventArgs e) 
{ 
    var result = Database.DB.Data.GetTable<Database.tbl_module_>().Where(module => module.deptCode == ((User)Session["user"]).deptCode); 
    foreach (var row in result) 
    { 
     this.listModuleCode.Items.Add(new System.Web.UI.WebControls.ListItem(row.code)); 
     this.listModuleTitle.Items.Add(new System.Web.UI.WebControls.ListItem(row.title)); 
    } 
} 
protected void Delete_Click(object sender, EventArgs e) 
{ 
    var DB = Database.DB.Data; 
    var table = DB.GetTable<Database.tbl_module_>(); 
    var result = table.Where(module => module.deptCode == ((User)Session["user"]).deptCode && module.code == listModuleCode.SelectedItem.Text); 
    listModuleCode.Items.Remove(listModuleCode.SelectedItem); 
    listModuleTitle.Items.Remove(listModuleTitle.SelectedItem); 
    table.DeleteAllOnSubmit(result); 
    DB.SubmitChanges(); 
    Response.Redirect("deletemodule.aspx"); // redirect to this page 
} 

답변

2

. 그러나 :

var q = db.Customers.Where(c => c.CustomerID == 2).Single(); 
db.Customers.DeleteOnSubmit(q); 
db.SubmitChanges(); 

당신이 객체로 바로 SQL을 전달할 수 있습니다 잊지 마세요 : 당신이 생각하는 것

db.ExecuteCommand("DELETE FROM Customers WHERE ID = 2"); 

당신은 제출에 삭제 알고 있는지 확인해야합니다 더 쉽습니다.

+0

감사합니다.하지만 DeleteOnSubmit을 사용했으며 SubmitChanges도 호출했습니다. – Puppy

관련 문제