创建自定义HTML Helper
此教程向你演示如何在你的MVC视图里创建自定义HTML Helper。利用 HTML Helpers, 可以减少乏味的输入HTML标签。
在教程的第一部分,我描述了ASP.NET MVC框架已有的HTML Helper。然后,我描述了创建自定义HTML Helper的两个方法:我会解释如何通过创建静态方法和扩展方法来创建HTML Helper。
理解 HTML Helper
HTML Helper 只是一个返回字符串的方法。这个字符串可以表示你想要的任何内容。例如,你可以使用HTML Helper来呈现标准的HTML标签如 HTML <input> 和 <img> 标签。你还可以用HTML Helper来呈现更多复杂内容比如一个标签页或者一个数据库数据的HTML表格。
ASP.NET MVC 框架包括了以下标准的HTML Helpers (此列表并不完整):
Html.ActionLink()
Html.BeginForm()
Html.CheckBox()
Html.DropDownList()
Html.EndForm()
Html.Hidden()
Html.ListBox()
Html.Password()
Html.RadioButton()
Html.TextArea()
Html.TextBox()
例如, 考虑代码1的表单。此表单由两个标准HTML Helper呈现(见图1)。此表单用 Html.BeginForm() 和Html.TextBox() Helper 方法来呈现一个简单的HTML表单。
图01: 由HTML Helper呈现的页面 (点击查看完整大小)
代码1 – Views\Home\Index.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MvcApplication1.Views.Home.Index"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head id="Head1" runat="server">
<title>Index</title>
</head>
<body>
<div>
<% using (Html.BeginForm())
{ %>
<label for="firstName">First Name:</label>
<br />
<%= Html.TextBox("firstName")%>
<br /><br />
<label for="lastName">Last Name:</label>
<br />
<%= Html.TextBox("lastName")%>
<br /><br />
<input type="submit" value="Register" />
相关文档:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>用javascript动态添加删除html元素</title>
<script type="text/javascript"><!--
function $(nodeId) {
re ......
<html>
<head>
<title>实现字体阴影 </title>
</head>
<body>
<div STYLE="position:relative; width=480; &nb ......
像在座的各位一样,由于自身的兴趣,我对AJAX编程方面的研究是持续不断的。随着该领域的深入,我越来越发觉所谓的浏览器DOM,即HTML DOM,是一个非常值得关注的点。这观点在与同行们交换意见的时候也曾谈到过,就是,我们仍然缺乏具有深度的、规范的DOM Level 1辅助读物,网络上搜索也比较少见。而我们真实的想法在于,我们 ......
在Google 、Mozilla 、Apple 等组织的努力下,HTML5 标准已经从草案走向实现。目前几个主流浏览器的最新版本均已或多或少支持HTML5的新功能,即使是过时的浏览器也可以通过Javascript和插件来模拟相应的效果。
在开发RIA(富互联网应用)的时候,是选择占有率、兼容性、开发效率有限的Flash、SilverLight、Gears、JavaFX等 ......
一、问题的产生
搜索结果高亮显示,在新闻标题,来源之类的地方好做,只需要用str.Replace(keyword,"<font style=\"color:red;\"" + keyword +"</font>");这样的方法就可实现。
问题在于,在新闻内容里做搜索。其中html标签里可能含有关键字,用上面这种方法,将会替换掉html标签的部分内容,导致新闻内 ......