• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

母版页(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的参数即可:

public ActionResult Index() {
);
   3: }

自定义控件

RenderPartial

ASP.NET MVC中如果要自定义控件的话并不能像WebForm那样用<cc1:xxxx />这样来引用,而要使用Helper。

例如我们建立一个ct.ascx

其内容:

 %>
   2: 我是ct.ascx

然后在Index.aspx里调用

); %>

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:

public ActionResult CtAction() {
//注意这里不是View
   3: }

View(CtAction.ascx)

 %>
   2:  
]%>
View(Index.aspx):
   1: <%
); %>

OK运行起来,结果为:

文件的上传

下面来说一下与本篇本无关的话题就是文件的上传,我这里也不多做解释了,代码就是最好的语言。

View:

>
 />
   3: </form>

Action(Process):

public ActionResult Process(HttpPostedFileBase up1)
//参数名与name名一致即可
 + up1.FileName));
return Content(up1.FileName);
   5: }

 

 

 

显示:

提交后:

再看看文件夹,文件已经上传成功:

 

至此,我想ASP.NET MVC重典一周年版已经没有什么基础东西可以讲了,如果大家想进一步学习ASP.NET MVC,请关注Asp.net Mvc Framework 系列的随时更新


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET上传文件并记录到数据库发布时间:2022-07-10
下一篇:
asp.net core 同时添加Identity和Bearer认证发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap