MVC

1·下拉列表

List<SelectListItem> list=new List<SelectListItem>();
            list.Add(new SelectListItem()
            {
               Selected = false,
               Text = "zhh",
               Value = "1"
            });
            list.Add(new SelectListItem()
            {
                Selected = false,
                Text = "ml",
                Value = "2"
    public class HelloController : Controller
    {
        //
        // GET: /Hello/

        public ActionResult Index()
        {
            return View();
        }

        //第1种方式:Request["键"]的方式接收参数
        //[HttpGet]
        public ActionResult Add()
        {
            string id = Request["id"];
            ViewBag.Id = id;
            return View();
        }
        //第2种方式:自动装配
        //如果要实现行为的重载,要满足两个条件:1参数不同,2请求类型不同
        [HttpPost]
        public ActionResult Add(int id)
        {
            ViewBag.Id2 = id;
            return View();
        }

        public ActionResult AddPerson()
        {
            return View();
        }
        [HttpPost]
        //自动装配:可以完成自定义类型的参数的自动装配
            //person=New Person();
            //person.Age=request["Age"];
        public ActionResult AddPerson(Person person)
        {
            ViewData.Model = person;
            return View("AddPerson1");
        }
        //直接输出abc
        public ActionResult Say()
        {
            return Content("abc");
        }

        public ActionResult RedirectTest()
        {
            return Redirect(Url.Action("Index","Home"));
        }

        public ActionResult JsonTest()
        {
            Person p=new Person()
            {
                Age = 10,
                QQ = "123"
            };
            return Json(p,JsonRequestBehavior.AllowGet);
        }

        public ActionResult Edit(string id)
        {
            ViewBag.Id2 = Request["id"];
            ViewBag.Id = id;
            return View();
        }
        
    }

}); list.Add(new SelectListItem() { Selected = true, Text = "wcw", Value = "3" }); list.Add(new SelectListItem() { Selected = false, Text = "xy", Value = "4" }); ViewData["ddlList"] = list;

@Html.DropDownList("ddlList")

2·强类型页面

for系列的表单方法必须用页面强类型

            ViewData.Model = new Person()//如果赋值就会在显示
            {
                Age = 10,
                QQ = "123"
            };
@model Day1.Models.Person//直接定义强类型就可以应用 还可以用集合形式:@model List<Day1.Models.Person>
@using (Html.BeginForm("Show1","Home1",FormMethod.Post))
        {
            @Html.TextBoxFor(c=>c.QQ)
        }
        <hr/>
        @ViewData.Model.QQ
标签框:Html.Label(string expression,string text):会生成一个label标记,并显示text内容
文本框:Html.TextBox(“AA”);//会自动取ViewDate中键为AA的值,同时会以“AA”作为生成的HTML控件的id与name属性的值

隐藏域:Html.Hidden(“AA”)//同TextBox

复选框:Html.Checkbox(name)//被翻译成一个checkbox与一个hidden
单选按钮:Html.RadioButton(name,value,isChecked)//被翻译成radio控件
DropDownList:在Action中向ViewData中传递一个List<SelectListItem>集合,在View中指向ViewData的参数,则会以下拉列表的形式展示数据

表单方式一:using(Html.BeginForm(actionName,controllerName)){…}


3.扩展方法
namespace Day1.Models
{
    public class Person
    {
        public int Age { get; set; }
        public string QQ { get; set; }

        public void Run()
        {
            
        }

        private void Say1(string name,int age,string qq)
        {
            Console.WriteLine(name);
        }

        private void Say2()
        {
            //Say1("lxf");
            Say1("lxf",18,"123");
            Say1(age:18,name:"lxf",qq:"123");
        }
    }

    //扩展方法
    public static class Class1
    {
        //say方法扩展到person对象中S去
        public static void Say(this Person person,string age)
        {
            
        }
    }

}

4·返回类型ActionResult

直接或间接继承自ActionResult的类型
ViewResult:使用View()可以指定一个页面,也可以指定传递的模型对象,如果没有指定参数则表示返回与Action同名的页面
ContentResult:使用Content(string content)返回一个原始字符串
RedirectResult:使用Redirect(string url)将结果转到其它的Action
JsonResult:使用Json(object data)将data序列化为json数据并返回,推荐加上JsonRequestBehavior.AllowGet可以处理Get请求,一般结合客户端的ajax请求进行返回

    public class HelloController : Controller
    {
        //
        // GET: /Hello/

        public ActionResult Index()
        {
            return View();
        }

        //第1种方式:Request["键"]的方式接收参数
        //[HttpGet]
        public ActionResult Add()
        {
            string id = Request["id"];
            ViewBag.Id = id;
            return View();
        }
        //第2种方式:自动装配
        //如果要实现行为的重载,要满足两个条件:1参数不同,2请求类型不同
        [HttpPost]
        public ActionResult Add(int id)
        {
            ViewBag.Id2 = id;
            return View();
        }

        public ActionResult AddPerson()
        {
            return View();
        }
        [HttpPost]
        //自动装配:可以完成自定义类型的参数的自动装配
            //person=New Person();
            //person.Age=request["Age"];
        public ActionResult AddPerson(Person person)
        {
            ViewData.Model = person;
            return View("AddPerson1");
        }
        //直接输出abc
        public ActionResult Say()
        {
            return Content("abc");
        }

        public ActionResult RedirectTest()
        {
            return Redirect(Url.Action("Index","Home"));
        }

        public ActionResult JsonTest()//返回一个Json对象
        {
            Person p=new Person()
            {
                Age = 10,
                QQ = "123"
            };
            return Json(p,JsonRequestBehavior.AllowGet);
        }

        public ActionResult Edit(string id)
        {
            ViewBag.Id2 = Request["id"];
            ViewBag.Id = id;
            return View();
        }
        
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值