======================================================
注:本文源代码点此下载
======================================================
html helper 是一种返回字符串的方法。字符串可以代表希望的任何类型内容。例如,可以使用 html helper 呈现标准的 html 标记,如 html 和标记。也可以使用 html helper 呈现更复杂的内容,如标签条或数据库数据的 html 表。
asp.net mvc framework 包含以下一系列标准 html helper(非完整列表):
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 表单。
图 1:使用 html helper 呈现的页面(单击查看大图)
程序清单 1 views\home\index.aspx
index
first name:
last name:
1
html.beginform() helper 方法用于创建开始和结束 html标记。请注意,html.beginform() 方法在 using 语句中调用。using 语句确保 标记在 using 块的结尾处结束。
如果愿意,可以不创建 using 块,而是调用 html.endform() helper 方法来结束 标记。不管用哪种方法创建开始和结束 标记,都显得非常直观。
程序清单 1 中使用 html.textbox() helper 方法呈现 html标记。如果在浏览器中选择查看源代码,则可以看到程序清单 2 中的 html 源代码。请注意,源代码包含标准的 html 标记。
重要事项:请注意,html.textbox()html helper 使用标记而不是标记呈现。如果不包括等号,则浏览器中不会呈现任何内容。
asp.net mvc framework 包含少量的 helper。大多数情况下,需要使用自定义 html helper 扩展 mvc framework。在本教程后面的部分中,我们将学习创建自定义 html helper 的两种方法。
1、使用静态方法创建 html helper
2、使用扩展方法创建 html helper
上面载自msdnhttp://msdn.microsoft.com/zh-cn/dd408818.aspx
下面的例子就是用第二种方法自定义一个html.table标签
创建一个静态类htmlhelper_base(必须静态)
代码
using system;
using system.data;
using system.web.mvc;
namespace mvcapp
{
public static class htmlhelper_base
{
///
///table 标签
///
///
///
样式名字
///
table对象
///
public static string table(this htmlhelper helper, string clsname,object obj)
{
datatable dt = (datatable)obj;
system.text.stringbuilder sb = new system.text.stringbuilder();
if (dt != null)
{
sb.append("" + clsname + "' >");
sb.append("
");
foreach (datacolumn item in dt.columns)
{
sb.append("
");
sb.append(item.columnname);
sb.append("");
}
sb.append("");
foreach (datarow dr in dt.rows)
{
sb.append("
");
foreach (datacolumn dc in dt.columns)
{
sb.append("
");
sb.append(dr[dc.columnname].tostring());
sb.append("");
}
sb.append("");
}
sb.append("");
}
return sb.tostring();
}
}
}
在前台页面引用该类的命名空间()即可像asp.net mvc framework 中标准的 html helper 一样工作了
aspx页面代码
div>= html.table("clsname", viewdata["table"] )%> div>
通过这种方法,我们可以定义出很多控件来,非常方面使用。当然,我只是简单写了一下,抛砖引玉
小菜一个,别扔砖啊
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/