2009-12-24 81 views
1

控制器操作可以用於常規的Web請求和ajax調用嗎?控制器操作可以用於常規的web請求和ajax調用嗎?

對於常規的Web請求,該操作將採用表單集合,將類別與文章關聯,然後重定向到另一個頁面。

對於ajax請求,它會將該類別關聯到文章,但不是重定向它會發送某種響應消息。

這是一個很好的做法,還是應該創建2個動作?

回答

1

創建兩個操作,這兩個操作對業務邏輯都使用相同的方法。無論誰維護,都會感謝你。

0

我認爲最好是將操作分開,並儘可能多地使用控制器中私有方法的代碼。

我敢肯定有可能檢測到ajax調用,但它有點傷害了單一責任原則。

0

它是一個很好的做法,每當爲ajax寫入動作時,都無法啓用JS用戶,所以每個ajax動作都應控制該請求是來自ajax還是可以處理兩者的普通請求。

1

我給這家首選方法是

public ActionResult UpdateJS(int id) 
{ 
    var retVal = Update(id); 
    return View("UpdateJS", retVal);  
} 

public ActionResult UpdateReg(int id) 
{ 
    var retVal = Update(id); 
    return View("UpdateReg", retVal); 
} 

public object Update(int id) 
{ 
    //Do something here 
    return id; 
} 
相關問題