日期:2014-05-17  浏览次数:20514 次

mvc2底下action问题
在编辑的情况下

Edit.aspx

在控制器底下

//绑定数据显示(为修改用的)
public ActionResult Edit(int? id)

{

ViewData["Title"]="数据显示";

Return View(Model);

}

//修改当前数据
public ActionResult Edit(int? id)

{

ViewData["Title"]="修改当前数据操作";

Return View();

}

 

问题来了:

1,相同的action名,都是Edit

2,都是得传参数进来才能一一对应操作

解决思路:

1,根据传的id来好象区别不开。

2,根据[httppost]和[httpget]也没办法解决这问题,

目前做法是:把这个显示操作和修改操作2个都都放到一个Edit()方法里,但感觉不是很好,会显示的时候也提示修改成功?
大牛们,还有其他的问题解决吗?

------最佳解决方案--------------------
对于提交的action加上

[AcceptVerbs(HttpVerbs.Post)]
action
------其他解决方案--------------------
你用实体提交啥,干嘛用ViewData,非强类型,可操作性不强,提交和现实重载一个方法就行
[HttpGet]
public ActionResult Edit(int? id)
{
...
Return View(Model);
}

[HttpPost]
public ActionResult Edit(Model model)
{
提交成功后可跳转,不成功继续加载model项返回Return View(model);
}