如何使用Razor而不是HTML渲染CSS

时间:2013-01-22 10:29:29

标签: .net asp.net-mvc-3 razor

我有一个使用此代码的CSS

input[type="text"] {
    border: 1px solid #CCCCCC;
    border-radius: 5px 5px 5px 5px;
    box-shadow: none;
    padding: 5px 8px;
}

并且HTML页面具有以下代码以使用CSS

<input id="product-name" type="text" required="required">

我想在视图中使用Razor来呈现名为product-name的文本框 我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

您可以使用TextBox帮助程序:

@Html.TextBox("product-name", null, new { required = "required" })

但我个人建议您使用视图模型:

public class MyViewModel
{
    public string ProductName { get; set; }
}

然后填充控制器操作并将此视图模型传递给视图:

public ActionResult Index()
{
    MyViewModel model = new MyViewModel();
    model.ProductName = "some product name";
    return View(model);
}

现在您的视图可以强烈输入到视图模型中:

@model MyViewModel
@Html.TextBoxFor(x => x.ProductName, new { required = "required" })

答案 1 :(得分:0)

您可以添加帮助程序并为其添加类属性以将其连接到css ..

@Html.TextBox("name", null, new { id = "product-name", @class = "textbox", required = "required" });

并且css将更改为

.textbox {
    border: 1px solid #CCCCCC;
    border-radius: 5px 5px 5px 5px;
    box-shadow: none;
    padding: 5px 8px;
}