iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >ASP.NET 中怎么预定义模板
  • 298
分享到

ASP.NET 中怎么预定义模板

2023-06-17 10:06:20 298人浏览 泡泡鱼
摘要

这篇文章给大家介绍asp.net 中怎么预定义模板,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、 实例演示:通过模板将布尔值显示为RadioButton在默认的情况下,不论是对于编辑模式还是显示模式,一个布尔类型的

这篇文章给大家介绍asp.net 中怎么预定义模板,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、 实例演示:通过模板将布尔值显示为RadioButton

在默认的情况下,不论是对于编辑模式还是显示模式,一个布尔类型的属性值总是以一个CheckBox的形式呈现出来。我们创建如下一个表示员工的类型Employee,它具有一个布尔类型的属性IsPartTime表示该员工是否为兼职。

public class Employee       {           [DisplayName("姓名")]           public string Name { get; set; }             [DisplayName("部门")]           public string Department { get; set; }             [DisplayName("是否兼职")]          public bool IsPartTime { get; set; }    }

如果我们直接调用htmlHelper<TModel>的EditorFORModel方法将一个Employee对象显示在某个将Employee类型作为Model的强类型View中,下图体现了默认的呈现效果。我们可以看到表示是否为兼职的IsPartTime属性对应着一个CheckBox。

ASP.NET 中怎么预定义模板

现在我们希望的是将所有布尔类型对象显示为两个RadioButton,具体的显示效果如下图所示。那么我们就可以通过创建一个Model类型为Boolean的View来创建一个模板,使之改变所有布尔类型对象的默认呈现效果。

ASP.NET 中怎么预定义模板

由于我们需要改变的是布尔类型对象在编辑模式下的呈现形式,所以我们需要将作为模板的分布View定义在EditorTemplates目录下,这个目录可以存在于Views/ Shared下,也可以存在于Views/{ControllerName}下。由于ASP.net mvc是采用数据类型作为匹配条件来寻找对应的模板的,所以我们需要将分部模板View命名为Boolean。下面的代码片断体现了这个分部试图的整个定义,我们通过调用HtmlHelper的RadioButton方法将两个布尔值(True/False)映射为对应的RadioButton,并且采用<table>来布局。

 @model bool  <table>      <tr>          <td>@Html.RadioButton("",true,Model)是</td>          <td>@Html.RadioButton("",false,!Model)否</td>      </tr>  </table>

值得一提的是,我们没有指定RadioButton的名称,而是指定一个空字符串,Html本身会对其进行命名,而命名的依据就是本章介绍的核心:Model元数据。Employee的IspartTime属性呈现在界面上对应的HTML如下所示,我们可以看到两个类型为radio的<input>元素的name被自动赋上了对应的属性名称。美中不足的是它们具有相同的ID,如果希望让ID具有唯一性,可以对模板进行更加细致的定制。

<div class="editor-label"><label for="IsPartTime">是否兼职</label></div>  <div class="editor-field">      <table>          <tr>              <td><input checked="checked" id="IsPartTime" name="IsPartTime" type="radio" value="True" .../>是</td>              <td><input id="IsPartTime" name="IsPartTime" type="radio" value="False" />否</td>          </tr>      </table>  </div>

二、预定义模板

上面我们介绍如何通过View的方式创建模板进而控制某种数据类型或者某个目标元素最终在UI界面上的HTML呈现方式,实际上在ASP.NET MVC的内部还定义了一系列的预定义模板。当我们调用HtmlHelper/HtmlHelper<TModel>的模板方法对Model或者Model的某个成员进行呈现的时候,系统会根据当前的呈现模式(显示模式和编辑模式)和Model元数据获取一个具体的模板(自定义模版或者预定义模版)。由于Model具有显示和编辑两种呈现模式,所以定义在ASP.NET MVC内部的默认模版分为这两种基本的类型。接下来我们就逐个介绍这些预定义模版以及最终的HTML呈现方式。

EmailAddress

该模板专门针对用于表示Email地址的字符串类型的数据成员,它将目标元素呈现为一个href属性具有“mailto:”前缀的链接(<a></a>)。由于该模板仅仅用于Email地址的显示,所以只在显示模式下有效,或者说ASP.NET MVC仅仅定义了基于显示模式的EmailAddress模板。为了演示数据在不同模板下的呈现方式,我们定义了如下一个简单的数据类型Model,我们通过在属性Foo上应用UIHintAttribute特性将模板名称设置为“EmailAddress”。

public class Model  {      [UIHint("EmailAddress")]      public string Foo { get; set; }  }

然后在一个基于Model类型的强类型View中,我们通过调用HtmlHelper<TModel>的DisplayFor方法将一个具体的Model对象的Foo属性以显示模式呈现出来。

@model Model  @Html.DisplayFor(m=>m.Foo)

如下的代码片断表示Model的Foo属性对应的HTML,我们可以看到它就是一个针对Email地址的连接。当我们点击该链接的时候,相应的Email编辑软件(比如Outlook)会被开启用于针对目标Email地址的邮件编辑。

<a href="mailto:foo@gmail.com">foo@gmail.com</a>

HiddenInput

关于默认模板HiddenInput我们不应该感到模式,前面介绍的HiddenInputAttribute特性就是将表示Model元数据的ModelMetadata对象的TemplateHint属性设置为HiddenInput。如果目标元素采用HiddenInput模板,在显示模式下内容会以文本的形式显示;编辑模式下不仅会以文本的方式显示其内容,还会生成一个对应的type属性为“hidden”的<input>元素。如果表示Model元数据的ModelMetadata对象的HideSurroundingHtml属性为True(将应用在目标元素上的特性HiddenInputAttribute的DisplayValue属性设置为False),不论是显示模式还是编辑模式下显示的文本都将消失。

同样以上面定义的数据类型Model为例,我们通过在Foo属性上应用UIHintAttribute特性将模板名称设置为“HiddenInput”。

public class Model  {      [UIHint("HiddenInput")]      public string Foo { get; set; }      public bool Bar { get; set; }      public decimal Baz { get; set; }  }

然后在一个基于Model类型的强类型View中分别调用HtmlHelper<TModel>的DisplayFor和EditFor方法将一个具体的Model对象的Foo属性以显示和编辑模式呈现出来。

@model Model  @Html.DisplayFor(m=>m.Foo)  @Html.EditorFor(m=>m.Foo)

分别以两种模式呈现出来的Foo属性对应的HTML如下(包含在花括号中的GUID表示属性值)。第一行是针对显示模式的,可以看出最终呈现出来仅限于表示属性值得文本;而编辑模式对应的HTML中不仅包含属性值文本,还具有一个对应的类型为“hidden”的<input>元素。

{42A1E9B7-2AED-4C8E-AB55-78813FC8C233}   {42A1E9B7-2AED-4C8E-AB55-78813FC8C233}<input id="Foo" name="Foo" type="hidden" value="{42A1E9B7-2AED-4C8E-AB55-78813FC8C233}" />

现在我们对数据类型Model做一下简单修改,将应用在属性Foo上的UIHintAttribute特性替换成HiddenInputAttribute特性,并将其DisplayValue属性设置成False。

public class Model  {      [HiddenInput(DisplayValue = false)]      public string Foo { get; set; }      public bool Bar { get; set; }      public decimal Baz { get; set; }  }

由于应用在目标元素上的HiddenInputAttribute特新的DisplayValue属性会最终控制对应ModelMetadata的HideSurroundingHtml属性,而后者控制是否需要生成用于显示目标内容的HTML。所以针对针对的Model定义,最终会生成如下一段HTML。

<input id="Foo" name="Foo" type="hidden" value="{42A1E9B7-2AED-4C8E-AB55-78813FC8C233}" />

Html

如果目标对象的内容包含一些HTML,并需要在UI界面中原样呈现出来,我们可以采用Html模板。和EmailAddress模板一样,该模板仅限于显示模式。为了演示Html模板对目标内容的呈现方法与默认呈现方式之间的差异,我们定义了如下一个数据类型Model。该数据类型具有两个字符串类型的属性Foo和Bar,其中Foo上面应用UIHintAttribute特性将模板名称设置为“Html”。

public class Model  {      [UIHint("Html")]      public string Foo { get; set; }      public string Bar { get; set; }  }

现在我们创建一个具体的Model对象,并将Foo和Bar设置为一段表示链接的文本(<a href="www.Google.com">google.com</a>),最终在一个基于Model类型的强类型View中通过调用HtmlHelper<TModel>的DisplayFor方法将这两个属性以显示模式呈现出来。

@model Model  @Html.DisplayFor(m=>m.Foo)  @Html.DisplayFor(m => m.Bar)

从如下所示的表示Foo和Bar两属性的HTML中我们不难看出:采用Html模板的Foo属性的内容原样输出,而包含在属性Bar中的HTML都进行了相应的编码。

<a href="www.google.com">google.com</a> &lt;a href=&quot;www.google.com&quot;&gt;google.com&lt;/a&gt;

Text与String

不论是在显示模式还是编辑模式,Text和String模板具有相同的HTML呈现方式(实际上在ASP.NET MVC内部,两种模版最终生成的HTML是通过相同的方法产生的)。对于这两种模版来说,目标内容在显示模式下直接以文本的形式输出;而在编辑模式下则对应着一个单行的文本框。

为了演示两种模版的同一性,我们对上面定义数据类型Model略作修改,在属性Foo和Bar上应用UIHintAttribute特性并将模版名称分别设置为String和Text。

public class Model  {      [UIHint("String")]      public string Foo { get; set; }      [UIHint("Text")]      public string Bar { get; set; }  }

然后我们创建一个具体的Model对象,并在一个基于该Model类型的强类型View中通过调用HtmlHelper<TModel>的DisplayFor和EditorFor将两个属性分别以显示和编辑模式呈现出来。

@model Model  @Html.DisplayFor(m=>m.Foo)  @Html.DisplayFor(m => m.Bar)  @Html.EditorFor(m=>m.Foo)  @Html.EditorFor(m => m.Bar)

如下所示的代码片断体现了上述四个元素对应的HTML(“Dummy text &hellip;”是Foo和Bar的属性值),可以看到采用了Text和String模板的两个属性在显示和编辑模式下具有相同的呈现方式。编辑模式下输出的类型为“text”的<input>元素表示CSS特性类型的class属性被设置为“text-box single-line”,意味着这是一个基于单行的文本框。

Dummy text ...   Dummy text ...   <input class="text-box single-line" id="Foo" name="Foo" type="text" value="Dummy text ..." />   <input class="text-box single-line" id="Bar" name="Bar" type="text" value="Dummy text ..." />

值得一提的是,ASP.NET MVC内部采用基于类型的模板匹配机制,对于字符串类型的数据成员,如果没有显式设置采用的模板名称,默认情况下会采用String模板。

Url

与EmailAddress和Html一样,模板Url也仅限于显示模式。对于某个表示为Url的字符串,如果我们希望它最终以一个连接的方式呈现在最终生成的HTML中,我们采用该模板。如下面的代码片断所示,我们通过应用UIHintAttribute特性将模板Url应用到属性Foo中。

public class Model  {      [UIHint("Url")]      public string Foo { get; set; }  }

我们创建一个具体的Model对象,并将Foo属性设置为一个表示Url的字符串“Http://www.asp.net”,最后通过如下的方式将该属性以显示模式呈现出来。

@model Model  @Html.DisplayFor(m=>m.Foo)

如下面的代码片断所示,该属性最终呈现为一个href属性和文本内容均属性值得连接(<a></a>)。

<a href="http://www.asp.net">http://www.asp.net</a>

MultilineText

一般的字符串在编辑模式下会呈现为一个单行的文本框(类型为“text”的<input>元素),而MultilineText模板会将表示目标内容的字符串通过一个<textarea>元素,该模板仅限于编辑模式。如下面的的代码片断所示,我们通过在字符串类型的Foo属性上应用UIHintAttribute特性将应用的模板设置为MultilineText。

public class Model  {      [UIHint("MultilineText")]      public string Foo { get; set; }  }

现在我们创建一个具体的Model对象并通过如下的形式将Foo属性以编辑模式呈现在某个基于Model类型的强类型View中。

@model Model  @Html.EditorFor(m=>m.Foo)

如下所示的代码片断表示Model的Foo属性呈现在UI界面中的HTML(“dummy text &hellip;”是是Foo的属性值),我们可以看到这是一个< textarea >元素。表示CSS样式类型的class属性被设置为“text-box multi-line”,意味着它是以多行的效果呈现。

<textarea class="text-box multi-line" id="Foo" name="Foo">dummy text ...</textarea>

Password

对于表示密码字符串来说,在编辑模式下应该呈现为一个类型为“passWord”的<input>元素,使我们输入的内容以掩码的形式显示出来以保护密码的安全性。在这种情况下我们可以采用Password模板,该模板和MultilineText一样也仅限于编辑模式。如下面的代码片断所示,我们在Model的Foo属性上应用UIHintAttribute特性将模式名称设置为“Password”。

public class Model  {      [UIHint("Password")]      public string Foo { get; set; }  }

我们创建一个具体的Model对象,并通过如下的形式将Foo属性以编辑模式呈现在某个基于Model的强类型View中。

@model Model  @Html.EditorFor(m=>m.Foo)

该Foo属性最终会以如下的形式通过一个类型为“Password”的<input>元素呈现出来,表示CSS样式类型的class属性被设置为“text-box single-line password”,意味着呈现效果为一个单行的文本框。

<input class="text-box single-line password" id="Foo" name="Foo" type="password" value="" />

Decimal

如果采用Decimal模板,代表目标元素的数字不论其小数位数是多少,都会最终被格式化为两位小数。在显示模式下,被格式化的数字直接以文本的形式呈现出来;在编辑模式下则对应着一个单行的文本框架。如下面的代码片断所示,我们在数据类型Model中定义了两个对象类型属性Foo和Bar,上面应用了UIHintAttribute特性并将模板名称指定为“Decimal”。

public class Model  {      [UIHint("Decimal")]      public object Foo { get; set; }        [UIHint("Decimal")]      public object Bar { get; set; }  }

我们创建一个具体的Model对象,将它的Foo和属性分别设置为整数123和浮点数3.1415(4位小数),最终通过如下的形式将它们以显示和编辑的模式呈现在一个基于Model类型的强类型View中。

@model Model  @Html.DisplayFor(m=>m.Foo)  @Html.DisplayFor(m=>m.Bar)  @Html.EditorFor(m=>m.Foo)  @Html.EditorFor(m =>m.Bar)

上述四个元素在最终呈现的UI界面中对应着如下的HTML,我们可以看到最终显示的都是具有两位小数的数字。

123.00  3.14  <input class="text-box single-line" id="Foo" name="Foo" type="text" value="123.00" /> <input class="text-box single-line" id="Bar" name="Bar" type="text" value="3.14" />

Boolean

通过本章最开始的实例演示我们知道一个布尔类型的对象在编辑模式下会以一个类型为“checkbox”的<input>元素的形式呈现,实际上在显示模式下它依然对应着这么一个元素,只是其disabled属性会被设置为True使之处于只读状态。布尔类型的这种默认呈现方式源自“Boolean”模板默认被使用。

当布尔类的目标元素以编辑模式进行呈现的时候,除了生成一个一个类型为“checkbox”的<input>元素之外还会附加产生一个类型为“hidden”的<input>元素。如下面的代码片断所示,这个hidden元素具有与CheckBox相同的名称,但是值为False,它存在的目的在于当CheckBox没有被勾选的情况下通过对应的hidden元素向服务区提交相应的值(False),因为没有被勾选的CheckBox的值是不会包含在请求中的。

<input id="Foo" name="Foo" type="checkbox" value="true" />  <input name="Foo" type="hidden" value="false" />

Boolean和String、Decimal以及后面我们介绍的Object一样属于是基于CLR类型的模板。由于ASP.NET在内部采用基于类型的模板匹配策略,如果没有显示设置采用的模板类型,相应类型的元素会默认采用与之匹配的模板。

Collection

顾名思义,Collection模板用于集合类型的目标元素的显示与编辑。对应采用该模板的类型为集合(实现了IEnumerable接口)的目标元素,在调用HtmlHelper或者HtmlHelper<TModel>以显示或者编辑模式对其进行呈现的时候,会遍历其中的每个元素,并根据基于集合元素的Model元数据决定对其的呈现方法。同样一我们定义的数据类型Model为例,我们按照如下的方式将它的Foo属性类型改为对象数组,上面应用了UIHintAttribute特性并将模板名称 设置为“Collection”。

public class Model  {      [UIHint("Collection")]      public object[] Foo { get; set; }  }

然后我们按照如下的方式创建一个包含三个对象的数组,作为数据元素的三个对象类型为别是数字、字符串和布尔,然后将该数组作为Foo属性创建一个具体的Model对象。

object[] foo = new object[]  {      123.00,      "dummy text ...",      true };  Model model = new Model { Foo = foo };

在一个基于Model类型的强类型View中,我们分别调用HtmlHelper<TModel>的DisplayFor和EditorFor方法将上面创建的Model对象的Foo属性以显示和编辑模式呈现出来。

@model Model  @Html.DisplayFor(m=>m.Foo)  @Html.EditorFor(m=>m.Foo)

Model对象的Foo属性最终呈现出来的HTML如下所示,我们可以看到不论是显示模式还是编辑模式,基本上就是对集合元素呈现的HTML的组合而已。

123Dummy text ...<input checked="checked" class="check-box" disabled="disabled" type="checkbox" /> <input class="text-box single-line" data-val="true" data-val-number="The field Double must be a number." data-val-required="The Double field is required." id="Foo_0_" name="Foo[0]" type="text" value="123" /> <input class="text-box single-line" id="Foo_1_" name="Foo[1]" type="text" value="dummy text ..." /> <input checked="checked" class="check-box" data-val="true" data-val-required="The Boolean field is required." id="Foo_2_" name="Foo[2]" type="checkbox" value="true" /> <input name="Foo[2]" type="hidden" value="false" />

Object

我们说过,ASP.NET 内部采用基于类型的模板匹配策略,如果通过ModelMetadata对象表示的Model元数据不能找到一个具体的模板,最终都会落到Object模板上。Object模板对目标对象的呈现方式很简单,它通过ModelMetadata的Proeprties属性得到所有基于属性的Model元数据。针对每个表示属性Model元数据的ModelMetadata,它会根据DisplayName或者属性名称生成一个标签(实际上是一个内部文本为显示名称的<div>元素),然后根据元数据将属性值以显示或者编辑的模式呈现出来。

 public class Address   {       [DisplayName("省")]       public string Province { get; set; }       [DisplayName("市")]       public string City { get; set; }       [DisplayName("区")]       public string District { get; set; }       [DisplayName("街道")]      public string Street { get; set; }  }

针对上面定义得这个表示地址的Address。现在我们创建一个具体的Address对象并通过如下的方式调用HtmlHelper<TModel>的DisplayForModel方法将它呈现在以此作为Model的View中。

@model Address  @Html.DisplayForModel()

从如下所示的HTML中我们可以看出作为Model的Address对象的所有属性都以显示模式呈现出来,而在前面还具有相应的标签。

<div class="display-label">省</div>   <div class="display-field">江苏省</div>   <div class="display-label">市</div>   <div class="display-field">苏州市</div>   <div class="display-label">区</div>   <div class="display-field">工业园区</div>   <div class="display-label">街道</div>   <div class="display-field">星湖街328号</div>

值得一提的是,Object模板在对属性进行遍历的过程中,不论是显示模式还是编辑模式,只会处理非复杂类型。也就是如果属性成员是一个复杂类型(不能支持从字符串类型的转换),它不会出现在最终生成的HTML中。

 public class Contact   {       [DisplayName("姓名")]       public string Name { get; set; }       [DisplayName("电话")]       public string PhoneNo { get; set; }       [DisplayName("Email地址")]       public string EmailAddress { get; set; }       [DisplayName("联系地址")]      public Address Address { get; set; }  }

通过上面的代码片断,我们定义了一个表示联系人的数据类型Contact,它具有一个类型的Address的同名属性。现在我们创建一个具体的Contact对象,并 对包括Address 属性在内的所有属性进行初始化,然后通过如下的方式通过调用HtmlHelper<TModel>的DisplayForModel方法将它呈现在以此作为Model的View中。

@model Contact  @Html.DisplayForModel()

从如下所示的HTML可以看出,Contact的数据成员Address由于是复杂类型,其内容并不会呈现出来。

<div class="display-label">姓名</div>  <div class="display-field">张三</div>  <div class="display-label">电话</div>  <div class="display-field">1234567890</div>  <div class="display-label">Email地址</div>  <div class="display-field">zhangsan@gmail.com</div>

我们可以有两种方式解决这个问题,其实就是通过为Address类型定义各类专门的模板用于地址信息的显示和编辑,通过UIHintAttribute特性将此模板名称应用到Contact的Address属性上,然后调用DisplayFor/EditorFor将该属性呈现出来。另一种就是按照类似如如下的方式手工将负责类型属性成员呈现出来。

@model Contact  @Html.DisplayForModel()  <div class="display-label">@Html.DisplayName("Address")</div> <div class="display-field">@(Model.Address.Province + Model.Address.City + Model.Address.District+ Model.Address.Street)</div>

关于ASP.NET 中怎么预定义模板就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: ASP.NET 中怎么预定义模板

本文链接: https://www.lsjlt.com/news/288377.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NET 中怎么预定义模板
    这篇文章给大家介绍ASP.NET 中怎么预定义模板,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、 实例演示:通过模板将布尔值显示为RadioButton在默认的情况下,不论是对于编辑模式还是显示模式,一个布尔类型的...
    99+
    2023-06-17
  • 在Java中FreeMarker 模板来定义字符串模板
    目录问题描述代码实现问题总结问题描述 一个业务需求,需要在后端通过代码渲染一个,列表如下图所示(下图只是一个示意): 这个表格的特点就是数据重复比较多,结构简单,我们可以通过 Ja...
    99+
    2024-04-02
  • 怎么在VSCode中自定义一个html5模板
    这篇文章给大家介绍怎么在VSCode中自定义一个html5模板,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。(一)新建html快捷键当我们想在VSCode中新建html代码时,可以 输入! 然后回车或者Tab即可自动生...
    99+
    2023-06-09
  • 怎么在VS2019中自定义一个项目模板
    怎么在VS2019中自定义一个项目模板?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、自定义项目模板创建 本次我们来创建一个实现了基础功能的webapi模板 创建自定义的项目...
    99+
    2023-06-14
  • c++模板自定义数组
    目录1.自定义数组.hpp--文件2.测试文件前言: 制造通用模板,创建自定义的数组, 一个数组,里面有这么几个属性,数组容量,数组元素个数,数组本身内存地址,这几个数据都是定义私有...
    99+
    2024-04-02
  • ASP.NET GridView 中模板化的奥秘:释放自定义显示的无限潜力
    数据项模板 (ItemTemplate) 数据项模板定义了 GridView 中每行的 HTML 结构。它定义了如何呈现特定列中的数据。您可以使用绑定表达式将数据字段直接插入 HTML,或使用代码在运行时操纵数据。 编辑项模板 (Edit...
    99+
    2024-04-02
  • C#自定义WPF中Slider的Autotooltip模板
    Slider控件有一个我比较喜欢的属性"AutoToolTip",可以在拖动的过程中显示当前刻度,然而这个刻度却不支持模板定制,并且就连自定义格式也不行。这就大大...
    99+
    2024-04-02
  • ASP.NET中怎么创建自定义操作
    这期内容当中小编将会给大家带来有关ASP.NET中怎么创建自定义操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ASP.NET安装部署之创建自定义操作1.在解决方案资源管理器中选择“Test Insta...
    99+
    2023-06-18
  • logback 自定义Pattern模板教程
    配色板 "%black", "%red", "%green","%yellow","%blue", "%magenta","%cyan", "%white", "%gray","%...
    99+
    2024-04-02
  • 在模板中转义“/”
    问题内容 我想传递一个像“avatars/avatar.png”这样的字符串,但是当我将它传递给模板时,我得到了字符转义。 所以我写了一个传递给模板的函数: var tpl *temp...
    99+
    2024-02-06
  • ASP.NET 中怎么利用DataGrid自定义分页
    这期内容当中小编将会给大家带来有关ASP.NET 中怎么利用DataGrid自定义分页,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ASP.NET DataGrid自定义分页代码1using S...
    99+
    2023-06-17
  • php中的预定义变量怎么写
    预定义变量是 php 中由解释器自动创建的特殊变量,包含脚本执行环境的信息,无法直接编写。php 中的预定义变量包括:常量变量(如 __line__、__file__)、特殊变量(如 $...
    99+
    2024-04-29
  • 如何在ASP.NET中使用Django模板?
    ASP.NET和Django都是非常流行的Web开发框架,二者各有优点。在ASP.NET中使用Django模板可以让我们充分利用Django模板的强大功能,加快开发速度,提高代码质量。在本文中,我们将介绍如何在ASP.NET中使用Djang...
    99+
    2023-09-28
    git npm django
  • ASP.NET中怎么构建自定义文件缓存
    本篇内容介绍了“ASP.NET中怎么构建自定义文件缓存”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!ASP.NET的输出缓存(即静态HTML...
    99+
    2023-06-17
  • Java模板方法模式定义算法框架
    目录介绍实现总结介绍 ​ Java中的模板方法模式是一种行为设计模式,用于定义算法的框架并允许子类重写某些步骤,同时不改变算法的结构. ​ 该模式基于开放/关闭原则,即对扩展开放,对...
    99+
    2023-05-18
    Java模板方法模式 Java设计模式
  • 详解C++中函数模板的定义与使用
    目录1. 前言2. 初识函数模板2.1 语法2.2 实例化2.3 实参推导3. 重载函数模板1. 前言 什么是函数模板? 理解什么是函数模板,须先搞清楚为什么需要函数模板。 如果现在...
    99+
    2024-04-02
  • php之laravel中自定义模板命令有哪些
    这篇文章主要介绍了php之laravel中自定义模板命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php的框架有哪些php的框架:1、Laravel,Laravel...
    99+
    2023-06-14
  • asp.net 按指定模板导出word,pdf实例代码
    复制代码 代码如下:/// <summary>        /// 导出word文件 &...
    99+
    2022-11-15
    asp.net word pdf
  • vue模板预编译是什么
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。模板预编译当使用 DOM 内模板或 JavaScript 内的字符串模板时,模板会在运行时被编译为渲染函数。通常情况下这个过程已经足够快了,但对性能敏感的应用还是最好避免...
    99+
    2023-05-14
    Vue
  • 怎么在JavaScript中使用Canvas自定义画板
    本篇文章为大家展示了怎么在JavaScript中使用Canvas自定义画板,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。<!DOCTYPE HTML><html>&...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作