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 ...
随机推荐
- js倒计时功能
<input id="countdown" type="text" value="140时50分20秒"> <script ...
- [Effective C++ --027]尽量少做转型动作
引言 ...
- Mysql命令行连接
mysql在线参考手册地址: http://dev.mysql.com/doc/refman/5.1/zh/tutorial.html#connecting-disconnecting 在linux平 ...
- java_Cookie_example(你上次访问的时间)
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, ...
- extremeComponents(ec)源码分析
eXtremeComponents(简称ec)是一系列提供高级显示的开源JSP定制标签,当前的包含的组件为eXtremeTable,用于以表形式显示数据. 其本质是jsp的自定义标签,抓住这一点就抓住 ...
- famous javascript library.
https://famo.us/ THE ULTIMATE WEB PLATFORM FOR DEVELOPERS AND DESIGNERS
- deepin linux安装与配置
作者:相思羽 出处:http://www.cnblogs.com/xiang-siyu 欢迎转载,也请保留这段声明.谢谢! deepin linux是由深度开发的操作系统,基于debian,内置了搜 ...
- UVA 11021 - Tribles(概率)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=481&page=s ...
- centos7支持ntfs
简单搜索了一下,发现一个很好的安装步骤,简洁有效,已经试验. rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release- ...
- Oracle计算连续天数,计算连续时间,Oracle连续天数统计
Oracle计算连续天数,计算连续时间,Oracle连续天数统计 >>>>>>>>>>>>>>>>> ...