- 浏览: 1021823 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
用视图呈现UI
视图可以不包含任何应用逻辑或者数据库检索代码,所有的应用逻辑都可以在controller中进行处理。
视图通过使用controller类在调用RenderView方法的时候提供视图相关数据对象呈现UI:
{
List < Category > categories = northwind.GetCategories();
RenderView( " Categories " , categories);
}
禁止访问Views目录
为了在你的ASP.NET MVC WEB应用程序中添加额外的安全性,你可以直接阻止访问Views目录。添加如下的代码到你Views目录下的web.config中的system.web节下就可以了:
< deny users ="*" />
</ authorization >
ASPX视图页
ViewPage类型的视图页是Page类的一个实例。我们看一下下面的视图页:
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Mvc;
namespace MvcApplication.Views.Home
{
public partial class Index : ViewPage < CompanyInfo >
{
}
}
它继承自ViewPage<T>,我们看一下继承关系:
namespace System.Web.Mvc
{
public class ViewPage < TViewData > : ViewPage
{
public ViewPage();
public TViewData ViewData { get ; }
protected internal override void SetViewData( object viewData);
}
}
这里注意一下ViewPage提供的公共方法,经常要用到的。
而ViewPage还实现了一个IViewDataContainer的接口,这个接口里面只有一个属性,就是我们经常用的ViewData :
下面的示例演示了如何使用ViewData属性,这个属性有两中变异。如果你的View继承自System.Web.Mvc.ViewPage 类,则ViewData属性是一个dictionary.这个属性提供一个索引器接收一个dictionay键.下面是继承自System.Web.Mvc.ViewPage 类的示例:
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head id ="Head1" runat ="server" >
< title > ViewData Property - Dictionary Based </ title >
</ head >
< body >
< div >
<% = " About " + ViewData[ " CompanyName " ] %>
</ div >
</ body >
</ html >
当然,我们还可以使用一个强类型的ViewData属性.这个为数据从控制器传递到视图中提供更好的类型检测.下面的示例是使用强类型的ViewData,视图页是继承自ViewPage<T> 的:
< head id ="Head1" runat ="server" >
< title > ViewData Property - Strongly Typed </ title >
</ head >
< body >
< div >
<% = " About " + ViewData.CompanyName %>
</ div >
</ body >
设置视图数据
通常,你提供数据给视图来呈现.要呈现视图,你调用控制器中的RenderView方法.这里有两种途径来将数据从控制器传递到视图 中.Controller类暴露一个ViewData的属性,它返回键大小写无关的IDictionay<string,object>类 型.你可以分配索引值到这个数据字典中.看下面的示例:
{
public void Welcome()
{
ViewData[ " FirstName " ] = " Joe " ;
ViewData[ " LastName " ] = " Healy " ;
RenderView( " Welcome " );
}
}
如果只是用一个视图名来调用RenderView方法,就像上面的示例所示,这个Controller对象的ViewData属性会被作为 dictionary来传递给View.如果你希望使用一个强类型的ViewData属性,你可以忽略ViewData属性.作为代替,你创建一个你想传 递到View中的对象,然后将它传递给RenderView方法.就如下面示例所示:
{
public string FirstName { get ; set ; }
public string LastName { get ; set ; }
}
public SampleController : Controller
{
public void Welcome() {
SampleViewData viewData = new SampleViewData();
viewData.FirstName = " Joe " ;
viewData.LastName = " Healy " ;
RenderView( " Welcome " , viewData);
}
}
在Actions方法之间传递状态
Action方法很可能必需传递数据到另外一个Action中,就好像当一个form提交的时候发生了错误,那样的话,用户应该被重定向到一个可以显示出错信息的页面中.
在Action方法调用控制器的RedirectToAction
方法调用其他Action之前,Action方法可以设置Controller的TempData
属性到任意一个对象.这个TempData属性值是保存在session
中的.另外一个Action可以检查TempData属性并获取值来在它自己的视图中显示.TempData的值只是在一个请求到下一个请求中保留
.
下面是示例演示了如何捕捉错误并重定向到一个使用原始数据的错误页中:
<% if (ViewData.ErrorMessage ! = null ) { %>
The following error occurred while inserting the customer data:
< br />
<% = ViewData.ErrorMessage %>
< br />
<% } %>
First name: < input type ="text" name ="firstName"
value ="<%= ViewData.FirstName %>" />< br />
Last name: < input type ="text" name ="lastName"
value ="<%= ViewData.LastName %>" />< br />
< input type ="submit" value ="Insert" />
</ form >
public class InsertError {
public string ErrorMessage { get ; set ; }
public string OriginalFirstName { get ; set ; }
public string OriginalLastName { get ; set ; }
}
// CustomersController
public void InsertCustomer( string firstName, string lastName) {
// Check for input errors.
if (String.IsNullOrEmpty(firstName) ||
String.IsNullOrEmpty(lastName)) {
TempData[ " error " ] = new InsertError( " Both names required " ,
firstName, lastName);
RedirectToAction( " NewCustomer " );
return ;
}
// No errors
//
}
public void NewCustomer() {
InsertError err = TempData as InsertError;
if (err != null ) {
// If there is error data from the previous action, display it.
ViewData.FirstName = err.OriginalFirstName;
ViewData.LastName = err.OriginalLastName;
ViewData.ErrorMessage = err. ErrorMessage;
}
//
}
注:本文参考自:
http://quickstarts.asp.net/3-5-extensions/mvc/MVCViews.aspx
发表评论
-
asp.net mvc处理css和js版本问题
2018-05-24 16:40 1393当服务的修改了js和css内容后,发布到II ... -
分布式系统调用链监控
2018-02-22 14:36 861分布式系统调用链监 ... -
使用C# 和Consul进行分布式系统协调
2017-05-11 10:41 1302随着大数据时代的到来,分布式是解决大数据问题的一个主要手段, ... -
权限控制
2016-06-16 11:09 793权限控制就是分为“用户登录身份验证”、“控制器方法权限控制” ... -
[ASP.NET MVC ]13 - Helper Method
2016-06-15 13:44 618我们平时编程写一些辅助类的时候习惯用“XxxHelper”来 ... -
[ASP.NET MVC]14 - Unobtrusive Ajax
2016-06-15 12:46 666Ajax (Asynchronous JavaScript ... -
[ASP.NET MVC ]08 - Area 使用
2016-06-15 12:28 781ASP.NET MVC允许使用 Area(区域)来组织Web ... -
将ASP.NET MVC中的form提交改为ajax提交
2016-06-01 15:51 2449在ASP.NET MVC视图中通过 @using (Htm ... -
@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
2016-06-01 14:02 1040ASP.NET MVC 中@Html.Partial,@Ht ... -
Fiddler 模拟http form提交
2016-04-19 10:01 1662以下为代码部分 下面是fiddler调用此form ... -
MVC3 验证码
2011-11-07 14:30 1581MVC3开发,看附件 -
MVC 分页 JQuery Pager
2011-11-07 13:00 3203导入的包 <script type=" ... -
ASP.NET MVC - Creating a SelectListItem with the disabled="disabled" attribute
2011-10-24 15:07 1485要完成这样的效果 <option disabled=& ... -
希望大家告诉我一些关于.net MVC3 MVC2的书籍
2011-10-21 16:36 1487大家好,小弟进入微软时间不久,正在学习微软的MVC3,但是基本 ... -
Jquery与.net MVC结合,通过Ajax
2011-10-14 09:55 2640在工作中做了这么一个东西。 Html端: @using T ... -
Radio Button and CheckBox在FireFox中刷新自动改变选中项
2011-08-29 12:54 2786今天开发过程中出现了这样一个问题,我选中radio butto ... -
jQuery Supertextarea Plugin
2011-08-18 11:46 1279http://truthanduntruth.com/deve ... -
详解ASP.NET MVC中DropDownList的使用
2011-07-27 17:27 2247本文我们将讲解DropDownList的使用,这在ASP.NE ... -
MVC ASP页面叫Control的各种方法
2011-07-11 15:43 1644<%@ Control Language="C ... -
MVC 各种传值方式
2011-07-07 15:41 5365【转自】:http://hi.baidu.com/honfei ...
相关推荐
在ASP.NET MVC中,分部视图(Partial View)是一种强大的功能,它允许开发者将用户界面拆分为可重用的部分,以提高代码的可维护性和复用性。本篇文章将详细探讨分部视图的三种基本使用方式,并通过实例进行讲解。 1...
【ASP.NET MVC项目:MyFinance】是一个基于ASP.NET MVC3框架构建的...在深入研究该项目时,我们可以学习到如何利用ASP.NET MVC的架构优势,以及如何通过IoC和Entity Framework来提升应用程序的灵活性和数据处理能力。
ASP.NET MVC 5 - 视图 4. ASP.NET MVC 5 - 将数据从控制器传递给视图 5. ASP.NET MVC 5 - 添加一个模型 6. ASP.NET MVC 5 - 创建连接字符串并使用SQL Server LocalDB 7. ASP.NET MVC 5 - 从控制器访问数据模型 8. ...
ASP.NET MVC4 CMS 是一个基于微软的ASP.NET MVC4框架构建的内容管理系统,它提供了一种高效、可扩展...通过深入研究其源代码,开发者可以学习到如何构建高效、可扩展的Web应用,并提升在ASP.NET MVC平台上的开发技能。
ASP.NET MVC 是微软提供的一种基于模型-视图-控制器(Model-View-Controller)模式的Web应用程序开发框架。它允许开发者使用HTML、CSS和JavaScript构建动态、数据驱动的Web应用,同时提供了强大的测试支持和对现有...
为了理解这个基于ASP.NET MVC的项目,你可以按照以下步骤进行学习: - **了解基本概念**:首先,你需要熟悉MVC模式的基本原理,以及ASP.NET MVC框架的关键组件。 - **安装环境**:确保你已安装了Visual Studio,并...
ASP.NET MVC 5 是 Microsoft 推出的一款用于构建可伸缩、高性能的 Web 应用程序的框架,它基于模型-视图-控制器(MVC)设计模式,结合了ASP.NET Web Forms 和 ASP.NET Web API 的优势,提供了更现代的开发体验。...
总的来说,这个ASP.NET MVC项目源代码设计资料是学习和深入理解MVC架构、ASP.NET MVC框架以及相关开发实践的理想资源。通过探索提供的文件,开发者不仅可以掌握MVC的核心概念,还能学习到实际项目开发中的最佳实践,...
学习ASP.NET MVC5,开发者可以掌握Web应用程序的高级开发技巧,包括如何组织项目结构、如何处理用户输入、如何进行数据库操作、如何实现用户认证和授权,以及如何调试和测试代码。"J.T.ASP.NET MVC 5.pdf"这个文件很...
Asp.Net MVC是一种基于模型-视图-控制器(Model-View-Controller)设计模式的Web应用程序开发框架。它由微软公司推出,旨在...通过学习这些案例,开发者可以逐步掌握Asp.Net MVC的精髓,从而高效地构建现代Web应用。
在这个"ASP.NET MVC 项目集合.zip"压缩包中,可能包含了多个ASP.NET MVC项目的源代码,这对于学习和理解ASP.NET MVC的开发实践非常有帮助。下面,我们将深入探讨ASP.NET MVC的关键概念和技术。 1. **模型(Model)*...
学习ASP.NET MVC4,你需要理解MVC模式的基本概念,掌握控制器、视图和模型的创建及交互,同时熟悉使用Razor视图引擎编写视图。此外,对于Web API、移动支持以及性能优化的相关特性也应有深入理解。通过阅读提供的...
通过研究ASP.NET MVC的官方源代码,开发者不仅可以深入了解MVC模式的实现细节,还能学习到最佳实践,提升Web应用的开发效率和质量。源代码的阅读和学习对于深入理解Web开发的底层机制至关重要,尤其是对于那些希望...
ASP.NET MVC5 是微软开发的一款用于构建Web应用程序的框架,它结合了模型-视图-控制器(MVC)设计模式、ASP.NET Web Forms组件以及Web API功能,为开发者提供了更灵活、可测试的Web开发解决方案。这本书《ASP.NET ...
在本“asp.net mvc博客Blog源码”项目中,我们可以深入学习和理解ASP.NET MVC的核心概念和技术。 首先,我们要了解ASP.NET MVC的基本架构。它遵循模型-视图-控制器(MVC)设计模式,将应用逻辑分为三个主要组件:...
在这个标题为“ASP.NET MVC 5 网站开发之美”的资源中,我们可以期待深入学习如何利用这个框架创建高质量的Web应用。 1. **MVC设计模式**:MVC模式是软件工程中的一种设计模式,它将应用程序分为三个主要部分:模型...
学习ASP.NET MVC4 Web编程,你需要掌握C#语言、.NET Framework基础、HTML、CSS和JavaScript等前端技术,以及MVC设计模式的理解。通过阅读“ASP.NET MVC4 Web编程(jb51.net).pdf”这样的资源,你可以深入理解这些概念...
这个"ASP.NET MVC4开发指南"提供了一套全面的学习资源,旨在帮助开发者掌握这一强大的Web开发技术。 MVC(Model-View-Controller)模式是ASP.NET MVC4的核心设计原则,它将应用程序分为三个主要部分:模型(Model)...
### AngularJS 开发 ASP.NET MVC #### 知识点概览 - **AngularJS与ASP.NET MVC结合的优势** - **AngularJS的特点与优势** - **AngularJS的基本概念(如数据绑定、指令等)** - **如何在ASP.NET MVC项目中引入...
在本"ASP.NET MVC开发实战超完整源码"中,我们可以深入理解并学习到以下几个关键知识点: 1. **MVC模式**:MVC设计模式是软件工程中的经典模式,将应用分为模型(Model)、视图(View)和控制器(Controller)三个...