2016-11-24 113 views
0

我送我的Oracle數據庫插入查詢通過MVC ACTION不知何故,插入方法被調用兩次,兩次記錄相同的數據...ASP.NET MVC插入查詢重複數據

而且,使用相同的運行select查詢的結構返回兩次相同的結果。

我錯過了什麼?

查看:

@Ajax.ActionLink("Click", "reg", 
new AjaxOptions 
{  
    HttpMethod = "POST" 
}) 

控制器:

[HttpPost] 
    public ActionResult reg() 
    { 
     KullaniciYetkiDAL.Add(); 

     return View(); 

    } 

DAL:

public static void Add() 
    { 
     string Query = "insert into USER (id,PROGRAM_ID) values ('200',1)"; 
     Database.EXECUTE(Query, null); 
     Database.CloseConnection(); 
    } 

DBAcsess:

public static int EXECUTE(String Query, List<OracleParameter> Params) 
    { 
     Command = new OracleCommand(Query, GetConnection()); 
     if (Params != null) 
     { 
      foreach (OracleParameter p in Params) 
      { 
       Command.Parameters.Add(p); 
      } 

     } 
     return Command.ExecuteNonQuery(); 
    } 

回答

0

從你的代碼我無法理解爲什麼它的請求兩次,但我認爲你可以檢查你的觀點,試圖更改使用本地Jquery的請求行動

0

你應該改變你的鏈接到的HTML方法。動作鏈接,因爲Ajax存儲請求,而不是Ajax,你必須使用Html.ActionLink:

@Html.ActionLink(TestAction.Title, 
    new { controller = "TestController", action = "TestAction", 
      id = TestAction.ID }) 
+0

我認爲我的項目架構問題,而不是我如何發送請求。 –

+0

但是您仍然需要檢查ajax調用。 (Html.BeginForm(「YetkiVer」,「KullaniciYetki」,FormMethod.Post)) –

+1

是啊,你在那裏我改變了請求,並使用(Html.BeginForm(FormMethod.Post)) {input type =「submit」value =「sumit」/> }。但爲什麼? –