一点ASP.NET MVC Html.Helper类

这里就只写一个Html.ActionLink()和Html.DropdownList()。

Html.ActionLink()里有三个参数,第一个是链接的名字,第二个是视图的名字,第三个是控制器的名字。以下附一下其视图的代码和控制器的代码。

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc; namespace _1110HtmlHelper.Controllers
{
public class Default1Controller : Controller
{
//
// GET: /Default1/
public ActionResult Index()
{
ViewData["time"] = DateTime.Now.ToString();
ViewData["city"] = new List <SelectListItem>()
{
new SelectListItem(){Selected = false,Text="洞庭湖北",Value=""},
new SelectListItem(){Selected = false,Text="孝感天下",Value=""},
new SelectListItem(){Selected=false,Text="恍然大悟",Value = ""}
};
return View();
}
public ActionResult Lianjie()
{
return Content("小杜同学你已成功链接到此位置了。");
//此处的Content()也就相当于context.Response();
}
}
}

控制器的代码

 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>

 <!DOCTYPE html>

 <html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
当前时间是: <%=ViewData["time"] %>
<hr/>
<h3>这是我自己写的超链接</h3>
<a href="/default1/lianjie">小杜自己写的超链接</a>
<hr />
<h3>这是用htmlHelper写的超链接</h3>
<%=Html. ActionLink("htmlHelper的超链接","Lianjie","Default1")%>
<hr/>
<%=Html.DropDownList("city") %>
</div>
</body>
</html>

视图的代码

那么上面我是有用分割线分开,一个是我自己写的超链接,一个是用Html.ActionHelper写的链接。他们的区别呢,就在于当我们改了Global.asax.cs里路由规则,比如将本来是{controller}/{action}/{id}改成{controller}-{action}-{id},因为我们自己写的链接就相当于写死的字符串,就找不到链接的页面了。而如果是用Html.ActionLink()写的只是需要当请求地址的时候改原本写“/”的位置改成“-”就可以了。

Html.DropdownList()就相当于是下拉列表。其写法呢,也就是在前台写一个ViewData[],括号里写要的是选择元素的名称,new一个选择的集合,为之赋值,其有三个参数,第一个是是否默认选中,第二个是显示的值,第三个就是选定项的值。视图那个位置也就是Html.DropdownList("选择元素的名称")仔细看一下上面的代码也就会清楚的。

小附一下我的截图。

最后说一下,也许你一定知道我是哪里人了。

一点ASP.NET MVC Html.Helper类的方法的更多相关文章

  1. ASP.NET MVC:@helper 不能调试

    ASP.NET MVC 的 @helper 不能设置断点,当然我们可以将逻辑移动到扩展方法中,这里介绍另外一种方式,使用:System.Diagnostics.Debug.WriteLine,编程旅途 ...

  2. ASP.NET MVC ETag & Cache等优化方法

    背景 最近有一个项目是用SmartAdmin + Jquery + EasyUI 一个ASP.NET MVC5的项目,一直存在一个性能问题,加载速度比较慢,第一次加载需要(在没有cache的情况下)需 ...

  3. ASP.NET MVC学前篇之扩展方法、链式编程

    ASP.NET MVC学前篇之扩展方法.链式编程 前言 目的没有别的,就是介绍几点在ASP.NETMVC 用到C#语言特性,还有一些其他琐碎的知识点,强行的划分一个范围的话,只能说都跟MVC有关,有的 ...

  4. ASP.NET MVC 应用提速的十种方法

    [编者按]本文作者为 DZone 社区的最具价值博主(MVB) Jonathan Danylko,主要介绍为 ASP.NET MVC 应用提速的十种方法.由国内 ITOM 管理平台 OneAPM 编译 ...

  5. Asp.Net MVC以 JSON传值扩展方法

    Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...

  6. Asp.Net MVC以JSON传值扩展方法

    Asp.Net在客户端和服务器端,以JSON形式相互传值,可写扩展方法,用到的类型如下: DataContractJsonSerializer类: 该类在System.Runtime.Serializ ...

  7. 在Asp.Net MVC中用Ajax回调后台方法

    在Asp.Net MVC中用Ajax回调后台方法基本格式: var operData = ...; //传递的参数(action中定义的) var type = ...; //传递的参数(action ...

  8. ASP.net MVC 文件下载的几种方法

      ASP.net MVC 文件下载的几种方法(欢迎讨论) 在ASP.net MVC 中有几种下载文件的方法前提:要下载的文件必须是在服务器目录中的,至于不在web项目server目录中的文件下载我不 ...

  9. ASP.NET MVC @html帮助类

    原文:https://www.cnblogs.com/caofangsheng/p/10462494.html HTML Helpers是用来创建HTML标签进而创建HTML控件的.HTML Help ...

随机推荐

  1. JNA结构体参数传递,Java数组

    JNA以结构体数组为参数进行调用: ////// C++ // student 结构体定义 typedef struct { int age; char name[20]; }Student; //  ...

  2. Part 59 to 60 Difference between Convert ToString and ToString,String and StringBuilder

    Part 59 Difference between Convert ToString and ToString Part 60 Difference between String and Strin ...

  3. CSS之页面添加标签

    就是因为昨天弄这个“神奇的小标签”差点把自己的园子给废了(情节真的有这么严重),说多了都是泪啊~~(┳_┳).本来是想在页首添加这个“神奇的小标签”的,不知是插件有BUG还是代码错误当场就导致不能编辑 ...

  4. tcpServer 浅显的发一代码

    接下来发出来的一段代码也是我从网上找的一个例子,具体的来源已经找不到了,跟作者说声抱歉 ,现在公司做机票,出于性能的原因,就重写一个底层的tcp请求(不是我写的) 下面测试的是个控制台应用程序 Htt ...

  5. 将DataTable格式化为json字符串返回

    一般用于ajax局部刷新的使用比较多,通过查询得到了DataTable数据,要想将数据放回需要将DataTable转换为json格式,以下为转换的调用函数: string json = "& ...

  6. PowerDesigner 工具面板 association,inheritance,association link 不可用 解决方法

    PowerDesigner 画E-R 图,关联,继承及关联实体连接不可用. 如图: 解决方法: tools->modeloptions->Notation 改为"E/R+Meri ...

  7. struts2值栈分析

    前段日子对ognl表达式不是很理解,看了几本书上关于ognl表达式的描述后还是感觉很难,前几天学习了struts2中值栈的内容,现在感觉ognl表达式其实很容易. struts2中利用值栈来存储数据, ...

  8. 杭电2034——人见人爱A-B

    #include <stdio.h> #include <algorithm> using namespace std; int main () { int a[110],b[ ...

  9. c语言结构体指针初始化

    今天来讨论一下C中的内存管理. 记得上周在饭桌上和同事讨论C语言的崛起时,讲到了内存管理方面 我说所有指针使用前都必须初始化,结构体中的成员指针也是一样 有人反驳说,不是吧,以前做二叉树算法时,他的左 ...

  10. yum被锁定

    使用Yum的时候 提示yum被搜定了 . Another app is currently holding the yum lock; waiting for it to exit...   解决办法 ...