zoukankan      html  css  js  c++  java
  • 艾伟_转载:学习 ASP.NET MVC (第五回)理论篇 狼人:

    本系列文章导航

    学习 ASP.NET MVC (第一回)理论篇

    学习 ASP.NET MVC (第二回)实战篇

    学习 ASP.NET MVC (第三回)实战篇

    学习 ASP.NET MVC (第四回)实战篇

    学习 ASP.NET MVC (第五回)理论篇

    通过前几篇文章,我们通过ASP.NET MVC创建了一个简单的应用程序,学习了ASP.NET MVC的基本框架和工作流程。但是Demo中很多东西都是VS为我们自动生成的,比如View的html代码等。此文和大家一起学习一下ASP.NET MVC 中的Helper (辅助方法) --> HtmlHelperUrlHelper
    何谓Helper,其实就是在View中为了实现一些灵活功能而写的方法组,主要的目的就是实现将界面与逻辑分离。

    HtmlHelper

    ASP.NET MVC提供了一个HtmlHelper用于生成Html标签和有数据绑定的Html标签。
    1.ActionLink
    其中最常用的就是Html.ActionLink。
    ActionLink中的三个参数分别为:显示的文字,Action ,Controller 。其中Controller可以省略,省略时指向同一Controller下的Action。
    ---基本应用:

    <%=Html.ActionLink("Hello""Index""Home")%>

     在UrlRouting规则为默认规则的情况下,它生成的HTML代码为:Hello
    ---带有QueryString的写法:

    <%=Html.ActionLink("Hello""Index""Home"new { page=1 },null)%>

     -------Hello
    如果连接中不涉及到action及controller就没有必要使用ActionLink,而是直接写HTML代码就可以了。Hello
    2.Html表单元素
    (1) Form:
    我们当然可以使用纯的Html代码:
    但是因为是在HTML的属性中,所以还是难以维护,ASP.NET MVC为我们提供了一个Helper,我们可以通过以下两种方式生成一个Form:

    <%using(Html.BeginForm("index","home",FormMethod.Post)){%>表单内容  
    <%%>

    <%Html.BeginForm("index""home", FormMethod.Post);%>表单内容  
    <%Html.EndForm(); %>

    (2) 其他html标签:
    ASP.NET MVC提供了多种表单元素的Helper。其中包括:TextBox(类似input type=text)、TextArea、DropDownList(select)、CheckBoxHidden、ListBox、Password、RadionButton。

    如果我们想提供一个input type=text 它的name为t1则以下代码:

    <%=Html.TextBox("t1"%>

    (3) 表单元素绑定
    如果我们想要让上文中的t1初始时就有一个值:

    <%=Html.TextBox("t1","Hello"%>

     如果数据是从数据库中读取,即得到数据是从Action中获取的,那么我们可以在Action中使用ViewData传递。

    Action:
    ViewData["text"]="Hello";
    View:
    <%=Html.TextBox("t1",ViewData["text"]) %>


    UrlHelper

    1.UrlHelper.Action
    UrlHelper的Action方法 用于生成一个URL地址:
    Controller下Index:<%=Url.Action(“Index”)%> --------index
    Controller下Index:<%=Url.Action(“Index”,new{id=1})%> --------index?id=1
    UsersController下Index:<%=Url.Action(“Index”,"Users")%> --------/Users/index
    UsersController下Index: <%=Url.Action(“Index”,"Users",new{id=1})%> /Users/index?id=1
    在View中写Url.Action("Index","Home"),运行后则会生成/Home/Index这个地址。

    2.UrlHelper.Encode
    这也是UrlHelper的一个方法 使用方法 如<%=Url.Encode("中文")%>,功能与Server.UrlEncode相同。

    3.UrlHelper.Content
    用于服务器路径转换为绝对路径。如:
    <%=Url.Content("~/content/site.css") %>最后的结果为:/content/site.css

  • 相关阅读:
    WPF Template模版之DataTemplate与ControlTemplate【一】
    C#中的几种锁:用户模式锁、内核模式锁、动态计数、监视锁
    WPF 基础面试题及答案(一)
    .net core 微服务参考文章
    Encoder-Decoder for Trajectory Prediction [closed]
    Prediction of Pedestrian Trajectory in a Crowded Environment Using RNN Encoder-Decoder
    Encoder-Decoder LSTM for Trajectory Prediction
    How to Develop an Encoder-Decoder Model for Sequence-to-Sequence Prediction in Kera
    Social LSTM using PyTorch for Vehicle Data
    Social LSTM implementation in PyTorch
  • 原文地址:https://www.cnblogs.com/waw/p/2156993.html
Copyright © 2011-2022 走看看