2009-12-24 68 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; 
} 
相关问题