控制器操作可以用于常规的Web请求和ajax调用吗?控制器操作可以用于常规的web请求和ajax调用吗?
对于常规的Web请求,该操作将采用表单集合,将类别与文章关联,然后重定向到另一个页面。
对于ajax请求,它会将该类别关联到文章,但不是重定向它会发送某种响应消息。
这是一个很好的做法,还是应该创建2个动作?
控制器操作可以用于常规的Web请求和ajax调用吗?控制器操作可以用于常规的web请求和ajax调用吗?
对于常规的Web请求,该操作将采用表单集合,将类别与文章关联,然后重定向到另一个页面。
对于ajax请求,它会将该类别关联到文章,但不是重定向它会发送某种响应消息。
这是一个很好的做法,还是应该创建2个动作?
创建两个操作,这两个操作对业务逻辑都使用相同的方法。无论谁维护,都会感谢你。
我认为最好是将操作分开,并尽可能多地使用控制器中私有方法的代码。
我敢肯定有可能检测到ajax调用,但它有点伤害了单一责任原则。
它是一个很好的做法,每当为ajax写入动作时,都无法启用JS用户,所以每个ajax动作都应控制该请求是来自ajax还是可以处理两者的普通请求。
我给这家首选方法是
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;
}