none
MVC controller 与重载 RRS feed

  • 问题

  • 最近刚学Mvc有个疑问,在Mvc控制器中的方法能否实现重载?下面的代码实现会报错方法指向不明确。请问如何在Mvc的模式下控制器的方法实现重载。或者这个实现没有任何意义吗?

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace MvcApplication1.Controllers
    {
        public class HomeController : Controller
        {
            //
            // GET: /Home/
    
            public ActionResult Index()
            {
                ViewBag.test = "test";
                return View();
            }
    
            public ActionResult Index(int id) {
    
                ViewBag.id = id;
                return View();
            }
        }
    }

    2014年4月17日 3:11

答案

  • 只可以通过设置[HttpPost]特性标签在方法名上,来区分调用的操作是Get还是Post,像你这种情况,应该使用默认参数,如

    public ActionResult Index(int id=0)

    {

    if(id==0)

    //do something;

    }

    这样的形式来区分调用的具体情况

    希望能帮的到你

    2014年4月17日 5:15