Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates MVC3 Razor模板-EditorForModel_Templates_Asp.net Mvc 3_Razor - Fatal编程技术网

Templates MVC3 Razor模板-EditorForModel

Templates MVC3 Razor模板-EditorForModel,templates,asp.net-mvc-3,razor,Templates,Asp.net Mvc 3,Razor,因此,我下面将定制Html.EditorForModel模板。让它工作-很好 我尝试将其转换为Razor(Object.cshtml)并获得: 这是密码 @inherits System.Web.Mvc.ViewUserControl @{ var count = 0; } @if (ViewData.TemplateInfo.TemplateDepth > 1) { @ViewData.ModelMetadata.SimpleDisplayText } else { &l

因此,我下面将定制Html.EditorForModel模板。让它工作-很好

我尝试将其转换为Razor(Object.cshtml)并获得:

这是密码

@inherits System.Web.Mvc.ViewUserControl
@{  var count = 0; }
@if (ViewData.TemplateInfo.TemplateDepth > 1) { 
  @ViewData.ModelMetadata.SimpleDisplayText
} 
else { 
  <table class="form">
    <tr>
    @foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForEdit && !ViewData.TemplateInfo.Visited(pm))) {
      if(prop.HideSurroundingHtml) {
        @Html.Editor(prop.PropertyName) 
      } 
      else { 
        if(count == 2) {
          count = 0;
          @:</tr><tr>
        } 
        else {
          count++;
        }
        <td>hi
          <div class="editor-label" style="text-align: right;">
            @prop.IsRequired ? "*" : "" 
            @Html.Label(prop.PropertyName) 
          </div>
        </td>
        <td>
          <div class="editor-field">
            @Html.Editor(prop.PropertyName) 
            @Html.ValidationMessage(prop.PropertyName, "*") 
          </div>
        </td>
      } 
    } 
    </tr>
  </table>
} 
@继承System.Web.Mvc.ViewUserControl
@{var count=0;}
@如果(ViewData.TemplateInfo.TemplateDepth>1){
@ViewData.ModelMetadata.SimpleDisplayText
} 
否则{
@foreach(ViewData.ModelMetadata.Properties.Where中的var prop(pm=>pm.ShowForEdit&&!ViewData.TemplateInfo.visted(pm))){
if(项目隐藏周围TML){
@编辑器(prop.PropertyName)
} 
否则{
如果(计数=2){
计数=0;
@:
} 
否则{
计数++;
}
你好
@是否需要道具?*:“”
@Html.Label(prop.PropertyName)
@编辑器(prop.PropertyName)
@Html.ValidationMessage(prop.PropertyName,“*”)
} 
} 
} 
我不再猜测了


“有趣的是”当模板名为“\u Object.cshtml”时,
@Html.EditorForModel(“~/Views/Shared/EditorTemplates/\u Object.cshtml”)
被完全忽略,并使用默认模板,因此知道为什么必须称为“Object”将是一件很好的事情。

尝试删除第一行(
@inherits
内容):

@{var count=0;}
@如果(ViewData.TemplateInfo.TemplateDepth>1){
@ViewData.ModelMetadata.SimpleDisplayText
} 
否则{
@foreach(ViewData.ModelMetadata.Properties.Where中的var prop(pm=>pm.ShowForEdit&&!ViewData.TemplateInfo.visted(pm))){
if(项目隐藏周围TML){
@编辑器(prop.PropertyName)
} 
否则{
如果(计数=2){
计数=0;
@:
} 
否则{
计数++;
}
你好
@如果(需要第I部分)
{
@:*   
}
@Html.Label(prop.PropertyName)
@编辑器(prop.PropertyName)
@Html.ValidationMessage(prop.PropertyName,“*”)
} 
} 
} 

还请注意我重写
@prop.IsRequired
测试的方式。

尝试删除第一行(
@继承
内容):

@{var count=0;}
@如果(ViewData.TemplateInfo.TemplateDepth>1){
@ViewData.ModelMetadata.SimpleDisplayText
} 
否则{
@foreach(ViewData.ModelMetadata.Properties.Where中的var prop(pm=>pm.ShowForEdit&&!ViewData.TemplateInfo.visted(pm))){
if(项目隐藏周围TML){
@编辑器(prop.PropertyName)
} 
否则{
如果(计数=2){
计数=0;
@:
} 
否则{
计数++;
}
你好
@如果(需要第I部分)
{
@:*   
}
@Html.Label(prop.PropertyName)
@编辑器(prop.PropertyName)
@Html.ValidationMessage(prop.PropertyName,“*”)
} 
} 
} 
还要注意我重写
@prop.IsRequired
测试的方式

@inherits System.Web.Mvc.ViewUserControl
@{  var count = 0; }
@if (ViewData.TemplateInfo.TemplateDepth > 1) { 
  @ViewData.ModelMetadata.SimpleDisplayText
} 
else { 
  <table class="form">
    <tr>
    @foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForEdit && !ViewData.TemplateInfo.Visited(pm))) {
      if(prop.HideSurroundingHtml) {
        @Html.Editor(prop.PropertyName) 
      } 
      else { 
        if(count == 2) {
          count = 0;
          @:</tr><tr>
        } 
        else {
          count++;
        }
        <td>hi
          <div class="editor-label" style="text-align: right;">
            @prop.IsRequired ? "*" : "" 
            @Html.Label(prop.PropertyName) 
          </div>
        </td>
        <td>
          <div class="editor-field">
            @Html.Editor(prop.PropertyName) 
            @Html.ValidationMessage(prop.PropertyName, "*") 
          </div>
        </td>
      } 
    } 
    </tr>
  </table>
} 
@{ var count = 0; }
@if (ViewData.TemplateInfo.TemplateDepth > 1) { 
  @ViewData.ModelMetadata.SimpleDisplayText
} 
else { 
  <table class="form">
    <tr>
    @foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => pm.ShowForEdit && !ViewData.TemplateInfo.Visited(pm))) {
      if(prop.HideSurroundingHtml) {
        @Html.Editor(prop.PropertyName) 
      } 
      else { 
        if(count == 2) {
          count = 0;
          @:</tr><tr>
        } 
        else {
          count++;
        }
        <td>hi
          <div class="editor-label" style="text-align: right;">
            @if (prop.IsRequired)
            {
                @:*   
            }
            @Html.Label(prop.PropertyName) 
          </div>
        </td>
        <td>
          <div class="editor-field">
            @Html.Editor(prop.PropertyName) 
            @Html.ValidationMessage(prop.PropertyName, "*") 
          </div>
        </td>
      } 
    } 
    </tr>
  </table>
}