如何使用具有强类型视图的聚合物库?

时间:2016-04-09 04:14:31

标签: c# asp.net-mvc polymer strong-typing strongly-typed-view

可以在ASP.NET MVC项目中使用具有强类型视图的Polymer库吗?

或者......我可以使用自定义元素和Razor但是Polymer Library太大了。

还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Polymer库而不使用Razor创建的元素。我用简单的元素测试,但我认为它适合你:

我有一个产品类

public class Product
    {
        public string Name { get; set; }
        public float Price { get; set; }
        public float Qtd { get; set; }
    }

我的控制器有两个动作:

> public class HomeController : Controller 
>{
>         //
>         // GET: /Home/
>         public ActionResult Index()
>         {
>             return View();
>         }
> 
>         public ActionResult Products(string name, float price, int qtd)
>         {
>             Product product = new Product();
> 
>             product.Name = name;
>             product.Price = price;
>             product.Qtd = qtd;
> 
>             return View();
>         }
> }

当你放下你的元素时,最后是.cshtml

>

 <!DOCTYPE html>
> 
> <html> 
> <head>
>     <meta name="viewport" content="width=device-width" />
>     <title>Produtos</title> </head> <body>
>     <div>
>         <form action="/Home/Products">
>             <label>Name</label>
>             <input type="text" name="name" />
> 
>             <label>Price</label>
>             <input type="number" name="price" />
> 
>             <label>Qtd</label>
>             <input type="number" name="qtd" />
> 
>             <input type="submit" value="Insert" />
>         </form>
>     </div> 
></body> 
></html>

我有一个表单,其操作指向/ Home / Products。当您提交时,表单将调用您的产品操作,通过您给他们的相应名称传递您的filds。 .cshtm中的“name”,“price”,“qtd”。操作产品必须具有.cshtml中元素的seme名称。这样您就可以获得任何HTML,聚合物或其他元素的信息。

奖金,你可以用这种方式获得相同的结果:

        <input type="text" name="product.Name" />
        <input type="number" name="product.Price" />
        <input type="number" name="product.Qtd" />

行动

> public ActionResult Products(Product product)
>         {
>             return View();
>         }