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的好处大 ...
随机推荐
- 自定义控件(视图)1期笔记02:View的绘制流程
1. 引言: 来自源码的3个方法: (1)public final void measure():测量,用来控制控件的大小,final不建议覆写 (2)public void layout():布局, ...
- iOS的崩溃和编译错误
1. Command /bin/sh failed with exit code 127 这是因为mogenerator找不到路径,stackoverflow给出的答案是: If /usr/local ...
- RadioGroup&RadioButton
RadioGroup提供多选一机制:属性orientation:“vertlcal” or “horizontal” @Override public void onCheckedChanged(Ra ...
- centos中安装jdk方法
RPM安装方法一: 1.检验系统原版本[root@zck ~]# java -versionjava version "1.6.0_24"OpenJDK Runtime Envir ...
- SQL的几道题目
1.构造数据插入方案表t_project_finish表 a)将addtime更新为当前时间的前一天 首先想到的是addtime=addtime-1,然后就开始验证这个想法. 插入一行数据,包括主键和 ...
- linux commond
1 vi /etc/sysconfig/network-scripts/ifcfg-eth0 2 ifconfig 3 ping 172.22.14.59 4 ping 1 ...
- (转)战斗bug技巧全攻略
原文地址:http://www.cnblogs.com/manuosex/p/3736077.html 程序员不是有一幅这样的对联吗 上联:一个项目两部电脑三餐盒饭只为四千工资搞得五脏俱损六神无主仍然 ...
- Activiti源码分析(框架、核心类。。。)
http://jiangwenfeng762.iteye.com/blog/1338553 Activiti是业界很流行的java工作流引擎,关于Activiti与JBPM5的关系和如何选择不是本文要 ...
- Android 四大组件之Acticity
什么是Activity? Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastRe ...
- 第二十七篇、使用MVVM布局页面
思路:架构的设计模式主要有这么两种 >MVC :这种方式用得很多,也很是常见,不在过多的介绍 >MVVM:使用这种 常常需要导入第三方框架,常见的是响应式框架 >主要讲一下ViewM ...