首页 新闻 搜索 专区 学院

ASP.NET MVC开发,编辑页面和添加页面基本相同,我们控制器 Add Edit是共用同一个View吗?

0
悬赏园豆:15 [已解决问题] 解决于 2013-07-04 10:12

ASP.NET MVC开发,编辑页面和添加页面基本相同,我们控制器 Add Edit是共用同一个View吗?

如题,说下你们的看法,给点经验,谢谢

xu_happy_you的主页 xu_happy_you | 菜鸟二级 | 园豆:222
提问于:2013-06-28 14:35
< >
分享
最佳答案
1

这种的话,一般公用就好了。,如下的写法:

 [HttpGet]
        public ActionResult UserManage(int userId=0)
        {
            if (userId==0)
            {
                return ActionResult(new UserInfo());
            }
            else {
                ViewBag.IsEdit = true;
                return ActionResult(GetUserInfo(userId));
            }
        }
        [HttpPost]
        public ActionResult UserManage(UserInfo model,bool isEdit)
        {
            if (isEdit)
            {
                do something...
            }else
            {
                 do something...
            }
        }
收获园豆:5
幻天芒 | 高人七级 |园豆:36594 | 2013-06-28 15:23

不错,和我现在弄的差不多,也是传真来判断,如果编辑和添加 页面区别很大应该就自己权衡了吧!

xu_happy_you | 园豆:222 (菜鸟二级) | 2013-06-28 16:03

@xu_happy_you: 区别很大,没必要和在一起了。这种,可以用Ajax分部视图,代码非常少。

幻天芒 | 园豆:36594 (高人七级) | 2013-06-28 17:30

@幻天芒: controller也共用吗?

Invictus | 园豆:76 (初学一级) | 2013-06-29 20:53

@Invictus: 对呀,一个Controller就足够了啊~

幻天芒 | 园豆:36594 (高人七级) | 2013-06-29 22:42
其他回答(3)
0

可以共用一个页面。

添加和编辑的区别是:添加的时候,页面内是没数据的;编辑的时候,页面内是有数据的,可以共用一个页面。可以先从View向Controller传递数据,要执行添加操作的时候传递空数据。数据传递到Controller之后判断传递过来的数据,如果数据是空就将页面中数据的位置显示为空,如果不为空就将数据显示到页面中。

收获园豆:5
sikla | 园豆:27 (初学一级) | 2013-06-28 14:44
0

我这边是共用一个页面,因为数据是Ajax加载 所以js里区分新增还是编辑

收获园豆:5
Y2zz | 园豆:393 (菜鸟二级) | 2013-06-29 01:24
0

public ActionResult UserManage(UserInfo model,bool isEdit)

在cshtml页面是怎么传参的?

jimcsharp | 园豆:244 (菜鸟二级) | 2015-08-31 17:50

留给需要的人:

cshtml添加一个隐藏元素

<input type="hidden" name="isEdit" value="@ViewBag.isEdit" />

后台可以这样接收,
Request.Form["isEdit"];

支持(0) 反对(0) yinhy2018 | 园豆:148 (初学一级) | 2016-05-12 23:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册