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控件的实现(注册的实现))的更多相关文章

  1. ASP.NET MVC框架开发系列课程 (webcast视频下载)

    课程讲师: 赵劼 MSDN特邀讲师 赵劼(网名“老赵”.英文名“Jeffrey Zhao”,技术博客为http://jeffreyzhao.cnblogs.com),微软最有价值专家(ASP.NET ...

  2. 7.MVC框架开发(创建层级项目)

    在一个项目比较大的时候,就会有多个层级项目 1)在项目中选定项目右建新建区域(新的层级项目),项目->右键->添加->区域,构成了一套独立的MVC的目录,这个目录包括Views,Co ...

  3. 5.MVC框架开发(强类型开发,控制器向界面传递数据的几种方法)

    界面表单中的表单元素名字和数据库表的字段名相一一映射(需要哪个表的数据就是那个表的模型(Model)) 在View页面中可以指定页面从属于哪个模型 注:以上的关系可以通过MVC的强类型视图开发来解决我 ...

  4. 2.MVC框架开发(视图开发----基础语法)

    1.区别普通的html,在普通的html中不能将控制器里面的数据展示在html中. 在MVC框架中,它提供了一种视图模板(就是结合普通的html标签并能将控制器里传出来的数据进行显示) 视图模板特性: ...

  5. swing开发图形界面工具配置(可自由拖控件上去)

    swing开发图形界面工具,eclipse swing图形化操作界面工具配置 1.有一个小功能要有一个界面,之前知道有一个 图形化界面的(就是可以往上面拖控件布局的工具)JBuilder,今天上午就下 ...

  6. .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件

    系列目录     [已更新最新开发文章,点击查看详细] 在我的博客<.NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2控件>中介绍了WinForm ...

  7. 10.MVC框架开发(Ajax应用)

    1.MVC自带的Ajax应用, 使用步骤: 第一步,引入js框架 <script src="../../Scripts/jquery-1.4.4.js" type=" ...

  8. 1.MVC框架开发(初识MVC)

    1.约定大于配置 Content:存放静态文件(样式表.静态图片等) Controllers:存放控制器类 Models:存放数据模型文件 Scripts:存放脚本文件 Views:存放视图文件,里面 ...

  9. 了解MVC框架开发

    版权声明:本文为博主原创文章,未经博主允许不得转载. 前言:本篇文章我们浅谈下MVC各个部分,模型(model)-视图(view)-控制器(controller), 以及路由. 对于使用MVC的好处大 ...

随机推荐

  1. centos6.5 安装jdk7和tomcat7

    JDK安装: 安装说明 系统环境:centos-6.5安装方式:rpm安装软件:jdk-7-linux-x64.rpm下载地址:http://www.oracle.com/technetwork/ja ...

  2. Azure PowerShell (二)云服务

    .  浏览云服务Get-AzureService | Select-Object -Property ServiceName, Location,`@{Name='ProdIP';Expression ...

  3. Python 基础【第十篇】内置类型

    一.integral 类型 Python提供了两种integral类型,即int(整数)与bool(布尔值). 1.1.整数 整数的相关运算符.函数.数据类型转换 1.1.1.整数的运算符 前面已经讲 ...

  4. onsubmit表单验证

    <script type="text/javascript"> function check(){ var username=document.getElementBy ...

  5. C#一些小知识点

    1. 在Load时候由代码来做控件PictureBox,并且用代码将图片加载进去: private void Form2_Load(object sender, EventArgs e) { Dire ...

  6. Session对象的集合

    Session StaticObjects 集合 StaticObjects 集合包含 Session 对象范围中用 <OBJECT> 标记创建的所有对象.该集合可用于确定对象特定属性的值 ...

  7. android NDK 笔记

    *************************************************华丽的分割线********************************************* ...

  8. Opencv——播放视频(带滚动条)

    #include"highgui.h" #include"cv.h" ; CvCapture* g_capture = NULL; void onTrackba ...

  9. 【JAVA】接口(一)

    一.接口的概念 接口是一种更彻底的抽象.接口是从多个相似类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学. 二.接口的定义 接口定义不再使用class关键字,而是使用int ...

  10. ###STL学习--标准模板库

    下面进行STL的学习.希望能了解标准模板库中的常用容器,迭代器,可以自由运用STL以提高编写代码的效率.下面的内容我想以知识点为总结,不再像<Effective C++>那样以章节进行总结 ...