ASP.NET MVC 母版页、用户自定义控件及文件上传
来源:互联网 发布:javascript结尾怎么写 编辑:程序博客网 时间:2024/05/21 01:43
母版页(Master)
1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应。
2.其实在ASP.NET MVC中View的aspx与母版页并不像WebForm中那样紧密关联。
例如我想更换一个aspx的母版页,只要在Action中return 时指定所要使用的Master即可:
如图我有2个Master文件,而/Views/Home/Index.aspx则为
这时我们如果想要使用Site2做为Master,只要在Action中return View指定masterName的参数即可:
1: public ActionResult Index() {
2: return View(null,"Site2");
3: }
自定义控件
RenderPartial
ASP.NET MVC中如果要自定义控件的话并不能像WebForm那样用<cc1:xxxx />这样来引用,而要使用Helper。
例如我们建立一个ct.ascx
其内容:
1: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
2: 我是ct.ascx
然后在Index.aspx里调用
1: <%Html.RenderPartial("ct"); %>
OK(注意这里不是用<%=%>显示而是执行语句)
最终显示结果就是:
用户自定义控件除了放在调用者同一目录下,也可以放在View/Shared中。而且这种自定义控件也是没有Controller支持的,仅是将View的部分提取为公共使用。
那么如果我们想调用的ascx有逻辑处理或调用数据库,也就是需要Controller的情况下,我们应该怎么办呢。
RenderAction
OK比如我想有一个有独立逻辑的ascx.
先要引用 Microsoft.Web.Mvc(http://aspnet.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=24471)
web.config/configuration/System.Web/pages/namespaces添加<add namespace="Microsoft.Web.Mvc"/>
那么和建立一个Action是一样的
Action:
1: public ActionResult CtAction() {
2: return PartialView();//注意这里不是View
3: }
View(CtAction.ascx)
1: <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
2:
3: 显示当前Action:<%=this.ViewContext.RouteData.Values["action"]%>
View(Index.aspx):
1: <%
2: Html.RenderAction("ctaction","home"); %>
OK运行起来,结果为:
文件的上传
下面来说一下与本篇本无关的话题就是文件的上传,我这里也不多做解释了,代码就是最好的语言。
View:
1: <form action="<%=Url.Action("Process") %>" enctype="multipart/form-data" method="post">
2: <input name="up1" type="file" /> <input type="submit" />
3: </form>
Action(Process):
1: public ActionResult Process(HttpPostedFileBase up1)
2: {//参数名与name名一致即可
3: up1.SaveAs(Server.MapPath("~/" + up1.FileName));
4: return Content(up1.FileName);
5: }
显示:
提交后:
再看看文件夹,文件已经上传成功:
至此,我想ASP.NET MVC重典一周年版已经没有什么基础东西可以讲了,如果大家想进一步学习ASP.NET MVC,请关注Asp.net Mvc Framework 系列的随时更新
- ASP.NET MVC 母版页、用户自定义控件及文件上传
- ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
- ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
- ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版页中调用内容页,获取用户自定义控件里面的子控件的方法
- ASP.NET MVC学习之母版页和自定义控件的使用
- ASP.NET母版页和Web用户控件的使用
- Asp.Net WebForm 母版页+用户控件的使用
- ASP.NET 多文件上传自定义控件
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版
- ASP.Net访问母版页(MasterPage)控件、属性、方法及母版
- ASP.Net控件母版页专题
- ASP.NET 子页找母版页控件
- asp.net mvc动态生成file控件批量上传文件
- asp.net mvc动态生成file控件批量上传文件 .
- ASP.NET自定义用户控件
- eclipse CVS 中文文件名乱码,不能更新解决
- 关于阅读MFC源码的MFC.bsc文件
- Android 单个模块编译
- My new blog
- 整理一下安装Ubuntu以来遇到的一些问题(一)
- ASP.NET MVC 母版页、用户自定义控件及文件上传
- 在PHP里面运用与Perl兼容地正则表达式【转载】
- 在PHP里面运用与Perl兼容地正则表达式【转载】
- 如何修改登录Manager时的ArcGIS Server主机名
- PHP正则表达式详解【转载】
- C# 3.0 新特性
- table标签中thead、tbody、tfoot的作用
- 使用strtuts2的iterator标签循环输出二维数组和嵌套集合
- dll 位置