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
    收藏
    关注
    评论
  • 相关阅读:
    自然二进制与格雷码的转换
    状态机小结
    FSM的几种策略
    跨越鸿沟:同步世界中的异步信号
    边沿检测技术
    门控时钟和时钟使能
    ALTERA器件中复位电路实现之-异步复位同步化
    同步复位
    Altera USB Blaster 仿真器(EPM240仿制版
    五、裸机烧写
  • 原文地址:https://www.cnblogs.com/automation/p/3132387.html
Copyright © 2011-2022 走看看