至于吃Size point Location 这多少个复合属性 赋值

复合性  是自自己起名的

在HomeController内添加Action:

要使再 new  

[AcceptVerbs(“GET”)] //GET调用 
public ActionResult Form()

    return View(UserM.Instance);

结果报错了 

namespace ViewData.Models

    public class Space 
    { 
        public string Name { get ; set ; } 
        public string [] Animal { get ; set ; } 
        private static Space space;
        public IEnumerable<Space>
GetSpace()
        { 
            XDocument xml =
XDocument.Load(HostingEnvironment.MapPath(“~/App_Data/Space.xml”));
            IEnumerable<Space> results = from p in xml.Root.Elements(“item”)
                                         select new Space
                                         { 
                                             Name = p.Attribute(“name” ).Value,
                                             Animal = p.Elements(“animal” ).Select(r => r.Value).ToArray()
                                         } ;
            return results;
        } 
        public static Space Instance
        { 
            get 
            { 
                if (space == null )
                { 
                    space = new Space();
                } 
                return space;
起名,            } 
        } 
    } 
}

 

示例二:
带来参数传值.
URL Routing规则:

今天 写  form.size.height+=5;

新建一个近似读取xml数据.

夺问话彭斌

结果:在页面及显得Welcome to ASP.NET MVC! 

牵记来   point   location  那一个属于性     应该都是如此

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Web.Hosting;

或者  直接

Views/Home/Index.aspx Code:

 他说   这么些 size 属性是单纯念之 不可知平素赋值

public partial class Form :
ViewPage<UserM>

form.height+=5;

一致
工程协会
4单程序集
Microsoft.Web.Mvc
–一些可下的,不确定的顺序包
System.Web.Mvc 
–主程序库
上面六只列入3.5之Net框架了
System.Web.Abstractions
–Request,Respose等5百般目标、缓存,这些用来Asp.net
Webfrom下以的,这些应用装饰者情势来若之病逝之运用的接近,和mvc下采用的类像兼容。

Form.aspx

<asp:Content ID=”indexContent” ContentPlaceHolderID=”MainContent”runat=”server” >
    <p>
    <%= Html.Encode(ViewData[“Message” ]) %>
    </p>
    <p>
    <%= Html.Encode(ViewData[“Param” ]) %>
    </p>
    <p>
    <%= Html.Encode(ViewData[“ParaInt” ] ?? (object )”(null)” )%>
    </p>
    <p>
    <%= Html.Encode(ViewData[“ParaStr” ] ?? (object )”(null)” )%>
    </p>
</asp:Content>

示例四:

起名 1

public ActionResult About()

    ViewData[“Title” ] = “About Page” ;

    return View(Space.Instance.GetSpace());
}

1:
ViewData传值格局
ViewData的生命周期和View相同,
只对当下View有效.
  
ViewData[“zd”] = dfdfd
2:TempData传值格局
  
可以跨Action传递
  
TempData的数量到多单单可以通过同不行Controller传递,
并且每个元素至八只好被拜同不善,
  
  
例如一个于是法为,抛来一个怪。跳反到error页面
public
ActionResult Index3()
{
     
TempData[“tempIndex”] = “出错了!”;
     
Response.Redirect(“/home/error”);
     
return View();
}
3:QueryString传值
1)也可采纳new{}来吗form的action扩大querystring
2)在controler里使用Request.QueryString[“word”]获取值
例如:
<li>
               
<%= Html.ActionLink(“Browse”, “Browse”, “User”, new { word = “word1”
}})%></li>
             
 
Controler页面:
public
ActionResult Browse(string word)
       
{
           
ViewData[“word”] = Request.QueryString[“word”];
           
ViewData[“word2”] = word;
           
return View();
       
}
4:Post传值
譬如:直接采取mehod=post
<%@
Page Language=”C#” Inherits=”System.Web.Mvc.ViewPage” %>
<!DOCTYPE
html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html
xmlns=”http://www.w3.org/1999/xhtml” >
<head
runat=”server”>
   
<title></title>
</head>
<body>
   
<div>
    
<form action=”/User/AddRelease” method=”post”>
     
<ul>
        
<li>用户名1:<input type=”text” value=””
name=”UserName2″/></li>
        
<li>密码1: :<input type=”text” value=””
name=”Password2″/></li>
     
</ul>
     
<input type=”submit” value=”添加” />
     
</form>
</body>
</html>
诸如2:也堪运用HtmlHelper.post方法
<%@
Page Language=”C#” Inherits=”System.Web.Mvc.ViewPage” %>
<!DOCTYPE
html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
<html
xmlns=”http://www.w3.org/1999/xhtml” >
<head
runat=”server”>
   
<title></title>
</head>
<body>
   
<div>
    
<% Html.BeginForm(“AddRelease”, “User”, FormMethod.Post); %>
     
<ul>   
        
<li>用户名: <%= Html.TextBox(“UserName”) %></li>
        
<li>密码: <%= Html.TextBox(“Password”) %></li>
     
</ul>
      
<% Html.EndForm(); %>
     
<input type=”submit” value=”添加” />
</body>
</html>
Html.BeginForm
Html.EndForm
Html.TextBox

public partial class About :
ViewPage<IEnumerable<Space>>

HomeController.cs Code:

结果:
访问:/home/index/hello?paraint=520&parastr=world
显示: hello 520 world
访问:/home/index/hello
显示:hello (null) (null)

HomeControllers添加Action

新建一个xml文件:

ViewData传值.
HomeController.cs Co de:

结果:

每当About.aspx.cs先天修改要下.

[ActionName(“Form”), AcceptVerbs(“POST”)]//POST调用 
public ActionResult SaveForm()

    UpdateModel(UserM.Instance, new [] { “Name” , “Password” } );
    return View(UserM.Instance);
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

新建一个UserM类:UserM.cs

public ActionResult Index()

     ViewData[“Title” ] = “Home Page” ;
     ViewData[“Message” ] = “Welcome to ASP.NET MVC!” ;
     return View();
}

public ActionResult Index(string param,int? paraInt,string paraStr)

    ViewData[“Title” ] = “Home Page” ;
    ViewData[“Message” ] = “Welcome to ASP.NET MVC!” ;
    ViewData[“Param” ] = param;
    ViewData[“ParaInt” ] = paraInt;
    ViewData[“ParaStr” ] = paraStr;
    return View();
}

<?xml version=”1.0″ encoding=”utf-8″
?> 
<root>
<item name=”Sea” >
    <animal>Fish</animal>
    <animal>Shrimp</animal>
    <animal>Crab</animal>
</item>
<item name=”Sky” >
    <animal>Bird</animal>
    <animal>Man</animal>
</item>
</root>

示例三:
强类型传值:

表单的值回传给劳务器.

<%foreach (var p in ViewData.Model){ %>
<ul>
<li><%=p.Name %>
<ul>
<%foreach (string r in p.Animal){ %>
<li><%=r%></li>
<%} %>
</ul>
</li>
</ul>
<%} %>

namespace ViewData.Models

    public class UserM 
    { 
        public string Name { get ; set ; } 
        public string Password { get ; set ; } 
        private static UserM user;
        
        public static UserM Instance 
        { 
            get 
            { 
                if (user == null )
                { 
                    user = new UserM();
                } 
                return user;
            } 
        } 
    } 
}

<asp:Content ID=”indexContent” ContentPlaceHolderID=”MainContent”runat=”server” >
    <p>
    <%= Html.Encode(ViewData[“Message” ]) %>
    </p>
</asp:Content>

System.Web.Routing

同是3.5的引用
System.Web.Extensions
–Ajax控件
文件
App_Data
数据库
Content 
样式,图片,Js等
Controllers
控制器,能够更改名字,默认值
Models
模型
Views 
视图

基本工作流程
http://localhost:23797/home/index
home
是控制器
index
是Action
HomeController
–> Index()
主意
return View(); 这多少个方法会默认访问View文件夹下的Home->Index.aspx文件

return View(“about”); 访问大家指定的页面
更改了代码,要重新生成转,才会自功效

MVC架构
页面请求–>Controller->Models(ORM)->数据库
             
|
   
页面 <–Views

ViewData传值,本页View传递
  
Controller –> Views 之间通过 ViewData 来传值。
  
Controller中写 ViewData[“zd”] = “欢迎你!”;
  
View中 调用 <%= ViewData[“zd”] %>
  
  
其它呢得是扑朔迷离类型
  
List<string> sl = new List<string>();
  
sl.Add(“重典”);
  
sl.Add(“冰动力”);
  
ViewData[“zd”] = sl;
  
View中调用
  
<% foreach(string str in ViewData[“zd”] as List<string>){
%>
  
<%= str %>
  
<% } %>
  
对aspx页面,举办修改得无编译生成。

此外一种植传值形式TempData,可以跨页面Action传递一差
  
TempData[“ddd”] = “哈哈”;
  
Response.Redirect(“/home/about”);
  
页面about中
  
<%= TempData[“ddd”] %>
  
只保留一软值。
  
  
用途:比如程序运行到得地点,报错误抛来好了,到一个挺处理页面,把错误音讯传过去,专门处理一下。
六 
ViewData的此外传递格局,类的传递
   
定义一个好像
   
public class User
   
{
public
string Name {get;set;}
public
int ID {get;set;}
   
}
   
在Controller中开展实例化
   
User user = new User();
   
user.ID = 1;
   
user.Name = “安安”;
 
 
   
ViewData[“user”] = user;
 
 
   
在View中
   
<%= (ViewData[“user”] as User).Name %>
   
还有雷同双重便宜之方法:
   
把目的在 return View(user); 传递出
   
页面View
   
首先修改一下页面class 继承
   
比如:
   
public partial class Index : ViewPage
   
–>
   
public partial class Index : ViewPage<User>
   
然后再页面中
   
<%= ViewData.Model.Name %>
  
 
   
只好传递一个援类型。
   
将一个目的,用泛型类型传递及页面被。
七 
新建页面
   

  1. 新建一个Controller
          
    默认的Action是Index
          
    public ActionResult Index()
          
    {
              
    return View();
          
    }
        
  2. 新建一个View
           
    跟刚刚的Controller同名
    八 
    重定向,Redirect
       
    Response.Redirect(“/user/edit”);
       
    //WebFrom版平时跳转依然协助之
       
    新的return的MVC情势的跳转
       
    return Redirect(“/user/edit”);//新的跳转
       
    return RedirectToAction(“edit”);
       
    //同 控制器不同Action 跳反
       
    return RedirectToAction(“index”,”edit”);
       
    //不同 控制器跳转
    九 
    Url Routing路由
       
    home/index
       
    能稳及–>home控制器 –>index Action
       
    在golab.cs中
    八 
    filter 过滤器
       
    编码解码 数据压缩服务设置协议 等等 都可以在此处举行
       
    在Action发生在此以前来之后 执行
       
    在View呈现以前体现之后 执行
     
     
       
    新建一个像样,起名加参数验证filter(ParamFiter)
       
    filter要连续过滤器的基类 System.Web.Mvc.ActionFilterAttribute
     
     
        
    重写方法
        
    protected override void OnActionExecuted(ActionExecutiongContext
    filterContext)
    {
      
    //Action运行之后
    }
        
    protected override void OnActionExecuting(ActionExecutingContext
    filterContext)
    {
      
    //Action运行前
      
    if(filterContext.HttpContext.Request.QueryString[“k”] != “goo”)
       
    {
    throw
    new Exception(“这生一个不当”);
       
    }
    }
        
    protected override void OnResultExecuted(ResultExecutedContext
    filterContext)
    {
        
    //在View突显之后
    }
        
    protected override void OnResultExecuting(ResultExecutingContext
    filterContext)
    {
         
    //在View呈现从前
    }
    filter过滤器怎么用
    在Controller中的接近方面长 [ParamFilter] public class HomeControler :
    Controler 整个Controller上且碰面利用是过滤器
    也可以在Controller中的某Action上 [ParamFilter] public ActionResult
    Index() http://localhsot:23797/?k=go 就雅观了 九 Helper初体验   
    HtmlHelper 用来原有的服务器控件,呈现数据的时光要借Helper    UrlHelper
    由于url路由的有,Url具有无明确    /home/index    /home/index.ashx   
    如果连写好的言辞,就要完全替换,用urlhelper就可免。        另外Helper 只可以以View页面上用,不要再控制器上应用,这么些是确定未是纯属。   
    HtmlHelper只要在View页面用Html调用就好了。   
    UrlHelper只要以View页面用url    超链接    <%=
    Html.ActionLink(“首页”,”index”,”Home”) %>   
    HtmlHelper可以显得有的表单元素,包含form都是为此它来显示    <%=
    Html.TextBox(“category”) %>   
    HtmlHelper还有一个例外之道,输出编码功用    <%= Html.Encode() %>
          UrlHelper只是用来显示URL的    <%= Url.Action(“index”,”home”)
    %> 彰显    <%= Url.Content(“//dd”) %>
    把网站路径转化为URL显示出 十  QueryString传值格局    
    url?key1=value&key2=value2     获取之时光即使用    
    Request.QueryString[“key1”]         在Controller中,    
    ViewDate[“V”] = Request.QueryString[“word”];     在View中     <%=
    ViewData[“w”]%>     在传值的调用页面被     <%=
    Html.ActionLink(“编辑页”,”edit”,”user”,new {word = “zhongdian”},new
    {@class=”x”}) %>     最后一个性能是扩展的a标签的,这里吃其一个体。
        由于class是重点字,可以拿Class(c大写)避免,也可以加@前导符转义。
        生成的Html页面代码     <a href=”/user/edit?word=zhongdian”
    class=”x”>编辑页</a>     还有一个还简明的计:    
    在Controllers中改写     public ActionResult Edit(string word)    
    //作为Action的参数 十一 表单提交Post      <form>
    因为交的URL也来免确定因素,所以用Helper生成。      创造form      <%
    using(Html.Form(“user”,”edit”,FormMethod.Post)) { %>      
    username:<%= Html.TextBox(“Username”) %>       <br/>      
    password:<%= Html.Password(“Password”) %>       <br/>      
    <%= Html.SubmitButton(“”,”提交”) %>       <% } %>      
    在Controller中承受Form表单的因素的值       string un =
    Request.Form[“Username”];       string ps =
    Request.Form[“Username”];       ViewData[“w”] = un + ps;      
    在页面View中       <%= ViewData[“w”] %> 十二
    相比较好之传值形式,UpdateModel     
    UpdateModel其实是Controller集下的一个主意,那些法是拿Post、get提交过来的应和的价存储到一个靶。
         UpdateModel();      定义类      public class User      {       
    public string Name {get;set;}        public string Password{get;set;}
         }      在Controller中方法中怎样勾勒      User u = new User(); //Model
         UpdateModel(u,Request.Form.AllKeys);//get也可      string un =
    u.Name;      string ps = u.Password;      ViewData[“w”] = un + ps;
         在页面View中      <%= ViewData[“w”] %> 十三 单选复选 更新
          单选框      <%= Html.RadioButton(“n1″,”man”,false)%>性别
         单选框列表      <%= foreash(string s in
    Html.RadioButtonList(“ah”,new[]{“音乐”,”书法”}) ) {%> <%= s
    %> <%}%>      复选框      <%= Html.CheckBox(“c1”)%> 复选
         在Controller中怎样接受传过来的值      ViewData[“show”] =
    Request.Form[“n1”]; //修改n1 也 ah 就足以测试彰显列表     
    在页面View中      <%= ViewData[“show”] %>      
    在复选框的价有差不七只,而且name又是同一的话,可以为此一个字符串数据接收它的价。
        十四 表单验证 <form action=”” method=”post”> <%=
    Html.ValidatiesMessage(“u”)%> <fieldset>
    <legend>提交用户</legend>
    <p><label>用户名</label> <%=
    Html.TextBox(“u.UserName”)%> </p>
    <p><label>密码</label> <%=
    Html.TextBox(“u.Password”)%> </p> <input type=”submit”/>
    </fieldset> </form> 前边Controller的代码 HttpVerbs.Post
    public ActionResult Index(u as User) { if(u.UserName != “重典”)     
    ViewData.ModelState.AddModelError(“u”,”用户称错误”);        
    if(u.Password != “123456”)            
    ViewData.ModelState.AddModelError(“u”,”密码错”);         return View();
    }

 

原文:http://blog.csdn.net/deepwishly/article/details/9836599

About.aspx调用数据:

Form.aspx.cs后高添加强项目引用

Views/Home/Index.aspx Code:

routes.MapRoute(
    “Default” ,                                              // Route name 
    “{controller}/{action}/{param}” ,                           // URL with parameters 
    new { controller = “Home” , action = “Index” , param = “” } // Parameter defaults 
);

<p>
<%=Html.Encode(ViewData.Model.Name) %><br />
<%=Html.Encode(ViewData.Model.Password) %>
</p>
    <%Html.BeginForm();%>
    Name:<%=Html.TextBox(“Name” )%>
    Password:<%=Html.Password(“Password” ) %>
    <input type=”submit” value =”Submit” />
    <%Html.EndForm(); %>

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图