MVC-各种传值方式
【转自】:QLeelulu
示例一:
ViewData传值.
HomeController.cs Co
{
ViewData["Title"] = "Home Page";
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
Views/Home/Index.aspx Code:
<p>
<%= Html.Encode(ViewData["Message"]) %>
</p>
</asp:Content>
结果:在页面上显示Welcome to ASP.NET MVC!
示例二:
带参数传值.
URL Routing规则:
"Default", // Route name
"{controller}/{action}/{param}", // URL with parameters
new { controller = "Home", action = "Index", param = "" } // Parameter defaults
);
HomeController.cs Code:
{
ViewData["Title"] = "Home Page";
ViewData["Message"] = "Welcome to ASP.NET MVC!";
ViewData["Param"] = param;
ViewData["ParaInt"] = paraInt;
ViewData["ParaStr"] = paraStr;
return View();
}
Views/Home/Index.aspx Code:
<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>
结果:
访问:/home/index/hello?paraint=520¶str=world
显示: hello 520 world
访问:/home/index/hello
显示:hello (null) (null)
示例三:
强类型传值:
<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>
新建一个类读取xml数据.
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Linq;
using System.Web.Hosting;
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;
}
}
}
}
在HomeController内添加Action:
{
ViewData["Title"] = "About Page";
return View(Space.Instance.GetSpace());
}
在About.aspx.cs后天修改如下.
About.aspx调用数据:
<ul>
<li><%=p.Name %>
<ul>
<%foreach (string r in p.Animal){ %>
<li><%=r%></li>
<%} %>
</ul>
</li>
</ul>
<%} %>
结果:
using System.Collections.Generic;
using System.Linq;
using System.Web;
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;
}
}
}
}
HomeControllers添加Action
public ActionResult Form()
{
return View(UserM.Instance);
}
[ActionName("Form"), AcceptVerbs("POST")]//POST调用
public ActionResult SaveForm()
{
UpdateModel(UserM.Instance, new[] { "Name", "Password" });
return View(UserM.Instance);
}
<%=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(); %>
结果:在form表单的内容将显示到当前页面
MVC-各种传值方式的更多相关文章
- asp.net mvc各种传值方式大全
MVC 各种传值方式 ViewData传值. HomeController.cs Co de: public ActionResult Index(){ ViewData["Ti ...
- dotNET5的MVC页面传值方式总结
本文大致讲解mvc前后端的传值方式,包括control向view.view向control.以及action向action. 一.经典回顾 二.Controller向View传值 1. ViewBag ...
- ASP.NET MVC程序传值方式:ViewData,ViewBag,TempData和Session
转载原地址 http://www.cnblogs.com/sunshineground/p/4350216.html 在ASP.NET MVC中,页面间Controller与View之间主要有以下几种 ...
- MVC&WebForm对照学习:传值方式
刚从webform开发转到mvc,如果说像路由这样稍微复杂一点的知识点还可以暂时先放一放(前提是默认的路由规则基本满足大部分需求),那有个问题在快速开发中,我想是必须要当即解决的,那就是webform ...
- ASP.NET MVC Controller向View传值方式总结
Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...
- MVC:Controller向View传值方式总结
Controller向View传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通Vie ...
- MVC 向页面传值方式总结(2)
MVC 向页面传值方式总结 总结发现ASP.NET MVC中Controller向View传值的方式共有6种,分别是: ViewBag ViewData TempData 向普通View页面传一个Mo ...
- MVC 向页面传值方式总结(1)
ViewData传值. HomeController.cs Co de: public ActionResult Index() { ViewData["Title" ...
- MVC中页面的传值方式总结
MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一:ViewData 获取或设置一个字典,其中包含在控制器和视图之间传递的数据.使用ViewD ...
- MVC中页面传值方式总结
MVC中的页面传值,通常指Controller和view之间的数据传递,经常用到的有几种方式,总结如下: 一.Controller----------->View(控制器传到视图) 1.View ...
随机推荐
- 文件I/O(不带缓冲)之read函数
调用read函数从打开文件中读数据. #include <unistd.h> ssize_t read( int filedes, void *buf, size_t nbytest ); ...
- Java 如何连接 SQL 2008 R2
前提: 1. 复制sqljdbc_auth.dll到C:\Windows\System32这个路径下. 2. 添加sqljdbc4.jar到Libraries里面. 代码示例: import java ...
- nginx---reference
nginx (pronounced "engine x") is a free open source web server written by Igor Sysoev, a R ...
- Introducing the Blog Module
Introducing the Blog Module Now that we know about the basics of the zend-mvc skeleton application, ...
- 手机页面rem布局
手机页面设计一般的大小是640,但是,手机屏幕大小确实不确定的,这样,怎么才能做出适应所有手机的手机页面呢?一般的解决方案有两种,rem布局和百分比布局,更推荐用rem布局来制作手机页面. 首先,给页 ...
- HTML实现跳转到页面指定位置
<a href="#page1">跳转到页面1</a> <a href="#page2">跳转到页面2</a> ...
- [置顶] operator overloading(操作符重载,运算符重载)运算符重载,浅拷贝(logical copy) ,vs, 深拷贝(physical copy)
operator overloading(操作符重载,运算符重载) 所谓重载就是重新赋予新的意义,之前我们已经学过函数重载,函数重载的要求是函数名相同,函数的参数列表不同(个数或者参数类型).操作符重 ...
- Azure PowerShell (一)如何安装和配置 Azure PowerShell
什么是 Azure PowerShell? Azure PowerShell 是一组模块,提供用于通过 Windows PowerShell 管理 Azure 的 cmdlet.你可以使用 cmdle ...
- PV模型
你想建设一个能承受500万PV/每天的网站吗? 500万PV是什么概念?服务器每秒要处理多少个请求才能应对?如果计算呢? 一.PV是什么 PV是page view的简写.PV是指页面的访问次数,每打开 ...
- Apple Watch: WatchKit 应用程序要点
Apple Watch: WatchKit 应用程序要点 本文译自:Apple Watch: WatchKit App Essentials WatchKit 应用程序架构 上一篇文章简单介绍了 Wa ...