xce*_*cer 5 asp.net-mvc jquery-mobile asp.net-mvc-3
我试图使用MVC3 Razor View呈现以下HTML:
<input id="EffectiveDate" name="EffectiveDate" type="date" data-options='{"mode": "flipbox"}' />
Run Code Online (Sandbox Code Playgroud)
我无法在data-options属性中获取引号来呈现.无论我尝试什么,它们都被渲染为"
以下是我在View中尝试的几种方法:
@Html.TextBoxFor(model => model.EffectiveDate, new { type = "date", data_options= " { 'mode':'flipbox' }"})
Run Code Online (Sandbox Code Playgroud)
和
@Html.TextBoxFor(model => model.EffectiveDate, new { type = "date", data_options= @Html.Raw("{\"mode\":\"flipbox\"}")})
Run Code Online (Sandbox Code Playgroud)
有关如何解码引号的任何建议?
您可以通过创建 MVC 编辑器模板来完成此操作。首先,在“Views\Shared”文件夹中创建一个名为“EditorTemplates”的文件夹。然后将名为 DateTime.cshtml 的文件放入 EditorTemplates 文件夹中。
然后,您可以简单地对视图模型的属性使用 EditorFor() 方法,如下所示(前提是 DateTime 类型的 effectiveDate 属性):
@Html.EditorFor(m => m.EffectiveDate)
Run Code Online (Sandbox Code Playgroud)
DateTime.cshtml 编辑器模板的完整代码如下所示:
@model System.DateTime
@{
var id = this.ViewData.TemplateInfo.GetFullHtmlFieldId("");
var name = this.ViewData.TemplateInfo.GetFullHtmlFieldName("");
}
<input id="@id" name="@name" type="date" data-options='{"mode": "flipbox"}' />
Run Code Online (Sandbox Code Playgroud)
这将产生您正在寻找的确切输出。
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |