惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Jina AI
Jina AI
月光博客
月光博客
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
T
Tailwind CSS Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
量子位
博客园 - 【当耐特】
The Cloudflare Blog
宝玉的分享
宝玉的分享
博客园 - 聂微东
博客园 - 叶小钗
美团技术团队
G
Google Developers Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
小众软件
小众软件

博客园 - Net205 Blog

我第1个可用的golang小程序 我们怎么做不到呢? Top 7 Coding Standards & Guideline Documents For C#/.NET Developers .Net开发人员必须避免的5个常见的编程错误 You are doing Scrum but the Scrum Master tells the team what to do! 使用扩展方法 使用Javascript制作一个始终可见的区域 阅读优秀代码是提高开发人员修为的一种捷径[收藏] SQL SERVER – Difference between COUNT(DISTINCT) vs COUNT(ALL) SQL Performance MSSQL删除重复数据 jQuery QUnit 万月薪的英语人是如何练成的!!!讲一口漂亮流利的英语[转] 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 asp.net Interview Questions - Net205 Blog jQuery资源 strip invalid xml characters - Net205 Blog 翻译工具,您选哪个?
Asp.net Mvc中使用HTML 5 data属性
Net205 Blog · 2011-09-15 · via 博客园 - Net205 Blog

意译:http://dotnet.dzone.com/news/using-html-5-data-attributes

HTML 5的data属性是一种在DOM元素中存储数据的方式,例如我们有一个用户列表,为客户端以后使用想存储用户Id。

1 <ul>
2 <li data-id=”4” data-role=”admin”>thorsteinsson</li>
3 <li data-id=”23” data-role=”user”>john</li>
4 </ul>
public class User
{
public int Id { get; set; }
public string Role { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}

  这样使用:

<ul>
<% foreach (var user in Model.Users) { %>
<li <%= Html.ToDataAttributes(user) %>><%=user.Username%></li>
<% } %>
</ul>

  如果我们想在html标签中不显示用户名和密码,可以跳过它:

<%= Html.ToDataAttributes(user, new { “Username”, “Password” }) %>

  扩展方法的完整代码:

public static string ToDataAttributes(this HtmlHelper helper, object obj)
{
return helper.ToDataAttributes(obj, new string[] {});
}
public static string ToDataAttributes(this HtmlHelper helper, object obj, IEnumerable<string> skip)
{
StringBuilder builder
= new StringBuilder();
Type t
= obj.GetType();
foreach (var field in t.GetProperties())
{
if (skip.Contains(field.Name)) continue;

var value

= field.GetValue(obj, null);
if (value != null)
{
builder.Append(
" data-").Append(field.Name.ToLower()).Append("=\"").Append(helper.AttributeEncode(value)).Append("\"");
}
}
return builder.ToString();
}