[英]adding a class to EditorFor - razor c#
(編輯器用於名為“ADate”的DateTime屬性
我正在嘗試這個,但它不起作用。
@Html.EditorFor(model => model.ADate, new { cssClass = "date" } )
所以我嘗試了這個:
@Html.TextBoxFor(model => model.ADate, new { @class = "date" })
但它輸出type = text .. ofcourse它確實。
所以我嘗試了一個模板......我在共享中添加了一個文件夾:
Shared/EditorTemplates
然后我創建了一個名為Date.cshtml的.cshtml局部視圖
現在我在里面放什么:哦......
我試圖了解很多帖子和堆棧溢出條目,但它並沒有陷入其中。
目標是在整個應用程序中使用“。日期”類附加一個日期選擇器 “.date” ...使用“.date”類... TextBoxFor適用於我的添加類部分...但正如我所說,類型從日期更改到文本 :(
好的,這就是你可以做的:
在EditorTemplates
文件夾中,創建一個名為DateTime.cshml
的模板(如果您將該名稱用於日期,該名稱將自動解析,否則您在使用它時必須指定該名稱)。 然后在其中:
@model System.DateTime
@Html.TextBox(
string.Empty,
Model.ToString("yyyy-MM-dd"),
new { @class="datepicker", @type = "date"})
使用最后一個參數,您可以指定任何html屬性(類,數據,類型等)。
然后你像這樣使用它:
@Html.EditorFor(x => x.ADate)
如果您選擇使用不同的名稱命名模板,可以通過調用另一個重載來指定它:
@Html.EditorFor(x => x.ADate, "MyOtherAwesomeTemplate")
EditorFor html幫助器不會為DateTime屬性呈現日期選擇器(如果這是您想要做的)。 DateTime的默認EditorFor是文本輸入。 如果要使用日期選擇器,則必須使用jQuery DatePicker(或任何其他第三方日期選擇器)。
此外,EditorFor助手沒有html屬性的參數。 如果要分配類,則必須使用TextBoxFor。
在主視圖中,使用EditorFor,如下所示:
@Html.EditorFor(model => model.ADate)
然后,在您的編輯模板(Date.cshtml)中,您將擁有:
@model System.DateTime
<script type="text/javascript">
$(function () {
$(".date").datepicker();
});
</script>
@Html.TextBox("", Model.ToString("d"), new { @class = "date" })
您可以從此處下載jQuery UI : 下載jQuery UI
並且,您可以在此處了解有關jQuery DatePicker的更多信息: jQuery DatePicker
你可以這樣做
@Html.EditorFor(model => model.ADate)
<style type="text/css">
#ADate
{
@* your css properties goes here *@
}
</style>
這適用於MVC3 Razor
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.