4.MVC框架开发(母版页的应用、按钮导致的Action处理、从界面向控制器传数据和HtmlHelper控件的实现(注册的实现))
1.在视图里如何引入母版页
1)在视图里母版页都是放在View目录下面的Shared文件夹下面
2)母版页里的RenderBody()类似于ASP.NET里面的ContentPalceHolder占位符,但是这个RenderBody()只能出现一次
3)@Url.Content是将虚拟路径转换为物理路径的方法
4)在母版页里如果需要别的占位,则就会需要:RenderSection("占位名字",bool值),在子页面就应该这样使用:@section 占位名字{ }
注:如果RenderSection("占位名字",bool值)中的bool值为true,那么在子页面中这个占位在子页面必须用到,false反之
2.在页面里不允许有多个form,只能有一个form,开发的时候建议采用:
@using (Html.BeginForm("Reg", "User",FormMethod.Post, new{ @class="member_form",name="form1"})
{
//里面就是表单的内容Reg为Action,User为控制器,FormMethod.Post为表单提交为post方式,new{ @class="member_form",name="form1"}是表单属性,其中class是关键字,我们采用了@转义的方法,
}
3.如果一个一个页面中有不同的按钮,每个按钮导致不同的Action处理,那么这个时候就需要用JavaScript的方式来改变表单提交时候的Action处理(例如:在表单做一个方法serachFun()),代码如下:
<script language="javascript" type="text/javascript">
function serachFun() {
document.formone.action = "/Book/BookSearch";
document.formone.submit();
}
</script>
4.从界面向控制器传数据
1)通过post表单提交时候的数据传递,是通过表单集合,比如:
[HttpPost]
public ActionResult Login(FormCollection fom)
{
string userName = fom["username"];
string userPwd = fom["password"];
var list = bookshop.Users.Where(p => p.LoginId == userName && p.LoginPwd == userPwd).ToList();
if (list.Count > )
{
return RedirectToAction("Index", "Book");
}
else
{
ViewBag.ErrMessage = "<script>alert('你输入的账户名或者密码错误')</script>";
return View();
}
}
2)在界面中如果要将文本转换成原有的html表示,就用@Html.Raw()方法,比如:
@Html.Raw(ViewBag.ErrMessage)
5.界面中控件的简单说明
对html包装,HtmlHelper这个类,这个类主要就是提供html的一些标签元素的实现,在Razor中应用@Html:
@Html.TextBox("keyword", null, new { @class = "search_key" })
@*<input type="text" id="keyword" class="search_key" />*@
HtmlHelper控件的实现(注册)
通过模型传递数据的方法
1)将模型的属性映射到表单里的元素名字中,比如映射User这个数据模型,里面有LoginId属性,那么在表单中就有一个name为LoginId的元素
2)当表单向控制器提交数据的时候,方法的参数必须为模型,格式如下:
public ActionResult Reg(MvcBookShop.Models.User UserModel)
{
bookshop.Users.Add(UserModel);
if (bookshop.SaveChanges() > )
{
ViewBag.MsgRegInfo = "<script>alert('您注册成功')</script>";
}
else
{
ViewBag.MsgRegInfo = "<script>alert('您注册成功')</script>";
}
return View();
}
有错请留步指导,谢谢啦
4.MVC框架开发(母版页的应用、按钮导致的Action处理、从界面向控制器传数据和HtmlHelper控件的实现(注册的实现))的更多相关文章
- ASP.NET MVC框架开发系列课程 (webcast视频下载)
课程讲师: 赵劼 MSDN特邀讲师 赵劼(网名“老赵”.英文名“Jeffrey Zhao”,技术博客为http://jeffreyzhao.cnblogs.com),微软最有价值专家(ASP.NET ...
- 7.MVC框架开发(创建层级项目)
在一个项目比较大的时候,就会有多个层级项目 1)在项目中选定项目右建新建区域(新的层级项目),项目->右键->添加->区域,构成了一套独立的MVC的目录,这个目录包括Views,Co ...
- 5.MVC框架开发(强类型开发,控制器向界面传递数据的几种方法)
界面表单中的表单元素名字和数据库表的字段名相一一映射(需要哪个表的数据就是那个表的模型(Model)) 在View页面中可以指定页面从属于哪个模型 注:以上的关系可以通过MVC的强类型视图开发来解决我 ...
- 2.MVC框架开发(视图开发----基础语法)
1.区别普通的html,在普通的html中不能将控制器里面的数据展示在html中. 在MVC框架中,它提供了一种视图模板(就是结合普通的html标签并能将控制器里传出来的数据进行显示) 视图模板特性: ...
- swing开发图形界面工具配置(可自由拖控件上去)
swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...
- .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件
系列目录 [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm ...
- 10.MVC框架开发(Ajax应用)
1.MVC自带的Ajax应用, 使用步骤: 第一步,引入js框架 <script src="../../Scripts/jquery-1.4.4.js" type=" ...
- 1.MVC框架开发(初识MVC)
1.约定大于配置 Content:存放静态文件(样式表.静态图片等) Controllers:存放控制器类 Models:存放数据模型文件 Scripts:存放脚本文件 Views:存放视图文件,里面 ...
- 了解MVC框架开发
版权声明:本文为博主原创文章,未经博主允许不得转载. 前言:本篇文章我们浅谈下MVC各个部分,模型(model)-视图(view)-控制器(controller), 以及路由. 对于使用MVC的好处大 ...
随机推荐
- How to allow/block PING on Linux server – IPTables rules for icmp---reference
BY ADMIN - APRIL, 9TH 2014 The ‘PING’, it’s a command-line tool to check a host is reachable or not. ...
- svn :Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败. -------------------------------- ...
- 考试宝典-真题园安卓AppV2.1.0新版发布啦,全新界面,全新体验,全面适配Android 5.0&6.0系统!
真题园移动客户端是真题园网 http://www.zhentiyuan.com 旗下的一款学习考试应用App. 1.全新适配Android5.0.6.0系统,重新优化架构网络通信模块. 2.全新清爽U ...
- SurfaceView的使用
1.概念 SurfaceView是View类的子类,可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图视图.它的特性是:可以在主线程之外的 线程中向屏幕绘图上.这样可以避免画图任务繁重 ...
- ViewFlipper的简单使用实现图片轮播效果
/** * ViewFlipper: * 安卓系统自带的一个多页面管理控件,它可以实现子页面的自动切换 * 为ViewFlipper加入View: * (1)在layout布局文件静态导入子View ...
- $.parseJSON 将json 对象转换为array
项目中,通过json2.js的JSON.parse(jsonstr)的时候,整个返回值是object $.parseJSON(jsonstr)返回的也是object 而我想要的是array(objec ...
- ASP缓存类收集
木鸟写的 '********************************************** ' vbs Cache类 ' ' 属性valid,是否可用,取值前判断 ' 属性name,ca ...
- NSdata 与 NSString,Byte数组,UIImage 的相互转换
1. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc] initWithData:adataen ...
- iOS 键盘回收实现步骤
第一步:遵守协议 (UITextFieldDelegate) @interface AppDelegate : UIResponder <UIApplicationDelegate,UIText ...
- UISearchController的使用。(iOS8+)
这种方法早就发现了,不过一致没用,今天拿过来用,发现了一些问题. 1.这个东西和表视图结合使用很方便,首先,创建新的工程,将表视图控制器作为工程的根视图,并且添加一个导航(当然,你可以不这样做,但是你 ...