将文本框转换为textarea

时间:2015-07-20 18:01:27

标签: asp.net-mvc-5

在我的表单中,我可以向系统添加新产品(使用MVC 5),但我有一个问题。我有这段代码:

<div class="form-group">
    @Html.LabelFor(model => model.ProductDescription, "Description", htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.ProductDescription, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.ProductDescription, "", new { @class = "text-danger" })
    </div>
</div>

如您所知,创建一个文本框,我想知道的是有一种方法可以修改现有代码以添加textarea而不是文本框吗?

修改

@Stephen Muecke

我创建了一个名为DisplayProductsViewModel的视图模型,它看起来像这样:

using AccessorizeForLess.Data;

namespace AccessorizeForLess.ViewModels
{
    public class DisplayProductsViewModel
    {
        public string Name { get; set; }
        public string Price { get; set; }
        public ProductImage Image { get; set; }
    }
}

然后在我的控制器中我改变它看起来像这样:

private ApplicationDbContext db = new ApplicationDbContext();

// GET: /Products/
public  ActionResult Index()
{
    var products = db.Products.Include(p => p.ProductImage).ToList();
    List<DisplayProductsViewModel> model = null;
    foreach (Product pr in products)
    {
        model.Add(
            new DisplayProductsViewModel()
            {
                Name = pr.ProductName,
                Image = pr.ProductImage,
                Price = String.Format("{0:C}", pr.ProductPrice)
            });
    }

    return View(model.ToList());
}

但是当我运行它时模型始终为null。你能帮我解决这个问题,一旦我能够做到这一点,我就能更好地理解这一切。

修改

@Stephen Muecke

我根据您的建议修改了我的代码:

private ApplicationDbContext db = new ApplicationDbContext();

// GET: /Products/
public  ActionResult Index()
{
    var products = db.Products.Include(p => p.ProductImage);

    List<DisplayProductsViewModel> model = products.Select(p => new DisplayProductsViewModel() 
    { 
        Name = p.ProductName, 
        Image = p.ProductImage, 
        Price = string.Format("{0:C}", p.ProductPrice) }).ToList();

    return View(model);
}

现在没有任何回报。

1 个答案:

答案 0 :(得分:3)

strip属性应用于您的媒体资源

[DataType(DataType.MultilineText)]

或使用

[DataType(DataType.MultilineText)]
public string Description { get; set; }