• 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
    收藏
    关注
    评论
  • 相关阅读:
    postgresql全文检索部署实施
    从一整数数组中找出只重复一次的两个数
    Edit Distance 最小编辑距离
    Vue:v-model指令在其他元素类型的使用
    Vue:v-model指令
    Vue:v-on指令
    Vue:v-bind指令
    Vue:v-for指令
    框架Django
    Vue的安装和语法
  • 原文地址:https://www.cnblogs.com/automation/p/3132387.html
Copyright © 2020-2023  润新知