栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

带有.NET MVC 3 Razor Editor的HTML5占位符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

带有.NET MVC 3 Razor Editor的HTML5占位符

您可以阅读以下有关编写自定义的文章

DataAnnotationsModelmetadataProvider

这是涉及新引入的ImetadataAware接口的另一种ASP.NET MVC 3ish更多方法。

首先创建一个实现此接口的自定义属性:

public class PlaceHolderAttribute : Attribute, ImetadataAware{    private readonly string _placeholder;    public PlaceHolderAttribute(string placeholder)    {        _placeholder = placeholder;    }    public void onmetadataCreated(Modelmetadata metadata)    {        metadata.AdditionalValues["placeholder"] = _placeholder;    }}

然后用它来装饰模型:

public class MyViewModel{    [PlaceHolder("Enter title here")]    public string Title { get; set; }}

接下来定义一个控制器:

public class HomeController : Controller{    public ActionResult Index()    {        return View(new MyViewModel());    }}

相应的视图:

@model MyViewModel@using (Html.BeginForm()){    @Html.EditorFor(x => x.Title)    <input type="submit" value="OK" />}

最后是编辑器模板(

~/Views/Shared/EditorTemplates/string.cshtml
):

@{    var placeholder = string.Empty;    if (ViewData.Modelmetadata.AdditionalValues.ContainsKey("placeholder"))    {        placeholder = ViewData.Modelmetadata.AdditionalValues["placeholder"] as string;    }}<span>    @Html.Label(ViewData.Modelmetadata.PropertyName)    @Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { placeholder = placeholder })</span>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/635254.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号