zoukankan      html  css  js  c++  java
  • mvc htmlhelper扩展

    public static MvcHtmlString NewTextBox(this HtmlHelper htmlHelper, string name, string value)
    {
        var builder = new TagBuilder("input");
        builder.Attributes["type"] = "text";
        builder.Attributes["name"] = name;
        builder.Attributes["value"] = value;
        return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
    }
    
    public static MvcHtmlString NewTextBoxFor<TModel, TProperty>
    (this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
    {
        var name = ExpressionHelper.GetExpressionText(expression);
        var metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
        return NewTextBox(htmlHelper, name, metadata.Model as string);
    }
    使用:
    @Html.NewTextBoxFor(model => model.Title)
    生成的代码如下:
    <input name="Title" type="text" value="" />
    将文本内容下载:
     public FileStreamResult CreateFile()
            {
                //todo: add some data from your database into that string:
                var string_with_your_data = "1234";
    
                var byteArray = Encoding.ASCII.GetBytes(string_with_your_data);
                var stream = new MemoryStream(byteArray);
    
                return File(stream, "application/pdf", "your_file_name.txt");
            }

    view使用方法:

    @Html.ActionLink("Download Text File", "CreateFile", "SomeController ")

    Top
    收藏
    关注
    评论
  • 相关阅读:
    Linux系统调优方法
    递归(Recursion)算法
    数据结构之链表
    【日常摸鱼】牛客挑战赛2
    【日常摸鱼】牛客挑战赛1
    组合计数学习笔记1
    To-Do List 2
    20199112 2019-2020-2 《网络攻防实践》第 3 周作业
    Flutter上线项目实战——腾讯点播直播下载
    打开旧Flutter项目说:Your Flutter application is created using an older version of the Android embedding
  • 原文地址:https://www.cnblogs.com/automation/p/3132387.html
Copyright © 2011-2022 走看看