Razor 为什么我会收到关于HTML5中tr元素的错误消息?

Razor 为什么我会收到关于HTML5中tr元素的错误消息?,razor,Razor,我改成了HTML5,突然出现了一个以前没有出现的错误。错误消息是: 验证(HTML5):在开始和结束之间不允许使用文本 元素tr'的结束标记 我看不到任何纯文本,当我尝试将@:更改为@或删除它时,会收到一条消息,上面写着“结束标记,但不带开始标记”。我看不出我在哪里输入了任何文本。请帮忙 <tr id="listTableRow"> @{ int cnt = 0; List<SchoolIn.ViewModels.EnrolledCourse

我改成了HTML5,突然出现了一个以前没有出现的错误。错误消息是:

验证(HTML5):在开始和结束之间不允许使用文本 元素tr'的结束标记

我看不到任何纯文本,当我尝试将@:更改为@或删除它时,会收到一条消息,上面写着“结束标记,但不带开始标记”。我看不出我在哪里输入了任何文本。请帮忙

<tr id="listTableRow">          
@{
    int cnt = 0;
    List<SchoolIn.ViewModels.EnrolledCourseData> courses = ViewBag.Courses;         
    List<String> dayofclass = ViewBag.classDay;
    List<String> theListOfTeachers = ViewBag.teacherList;
    List<String> teacher = ViewBag.instructors;
    List<SchoolIn.Models.Enrollment> LoDays = ViewBag.lDays;
    List<String> listofinstructors = ViewBag.listOfInstructors;
    List<int> coursesIds = new List<int>();
    foreach (var course in courses.Select((x, i) => new { Data = x, Index = i }))
    {
        int currentIndex = course.Index;
        String selectedday = "";
        String selectedteacher = "";

        if (cnt++ % 4 == 0)
        {
            @:  </tr> <tr>
        }

@{
int-cnt=0;
列出课程=ViewBag.courses;
List dayofclass=ViewBag.classDay;
列出Listftachers=ViewBag.teacherList;
List teacher=ViewBag.instructors;
列表LoDays=ViewBag.lDays;
listofinstructors=ViewBag.listofinstructors;
List coursesIds=新列表();
foreach(courses.Select中的var课程((x,i)=>new{Data=x,Index=i}))
{
int currentIndex=课程索引;
字符串selectedday=“”;
字符串selectedteacher=“”;
如果(cnt++%4==0)
{
@:   
}
您好,CoderOll,谢谢您的帮助。您的建议是第一个标签的解决方案,但我粘贴在下面的第二个标签似乎仍然认为它们之间有文本,尽管我有,正如您在下面看到的。我研究了极为显式的代码块,发现了有关包装模糊代码语句的信息,如

  @foreach(var item in order.Items){
Var itemName-(GetOrderItemName<string>(item)):
 <li>@itemName</li>…
@foreach(order.Items中的变量项){
Var itemName-(GetOrderItemName(item)):
  • @项目名称
  • 但我找不到Razor可能会将标记错误为和之间的任何代码。我甚至尝试将<和>替换为<和>,但这不起作用。您知道代码的哪一部分可以解释为文本吗

    谢谢你的帮助

     <tr>
    
        }
    
          @: <td id="days" >  
    
          <input type="checkbox"  id="checkbox" name="selectedCourses" value="@course.Data.CourseID"  @(Html.Raw(course.Data.Assigned ? "checked=\"checked\"" : ""))/> 
    
                   @course.Data.Title  @: <br />
    
        if (dayofclass != null && course.Index < dayofclass.Count())
        {
    
    
            String sellectedDay = dayofclass.ElementAt(course.Index);                                           
            selectedday = sellectedDay;
    
    
    
            if (theListOfTeachers != null && course.Index < theListOfTeachers.Count())
            {
    
    
                String selectedTeacher = theListOfTeachers.ElementAt(course.Index);
    
                selectedteacher = selectedTeacher;
            }
    
    
        }
        if (selectedday == "")
        { 
    
             @Html.DropDownList("searchString", Model.WeekDays.Select(s => new SelectListItem {      Text = s.ToString(), Value = s.ToString(), Selected = s.ToString().Equals("Day") }), new { @class = "daylists" }) 
               @Html.DropDownList("instructorString", listofinstructors.Select(tch => new  SelectListItem { Text = tch.ToString(), Value = tch.ToString(), Selected = tch.ToString().Equals("Pick One") }), new { @class = "teacherlists" })
    
    
        }
    
    
        else
    
    
            if (Model.Enrollments != null)
            {
    
    
    
    
                     @Html.DropDownList("searchString", Model.Enrollments.FirstOrDefault().WeekDays.Select(s => new SelectListItem { Text = s.ToString(), Value = s.ToString(), Selected = s.ToString().Equals(selectedday) }), new { @class = "daylists" }) 
    
    
                                    @Html.DropDownList("instructorString", listofinstructors.Select(tch => new SelectListItem { Text = tch.ToString(), Value = tch.ToString(), Selected = tch.ToString().Equals(selectedteacher) }), new { @class = "teacherlists" })
    
    
            }
    
    
    
    
    
                                     @:</td> 
    
    
    }
    
    
    
    
    
                                    @:</tr> 
    
    
    }
    @:   
    @course.Data.Title@:
    if(dayofclass!=null&&course.IndexnewselectListItem{Text=s.ToString(),Value=s.ToString(),Selected=s.ToString().Equals(“Day”)),new{@class=“daylists”}) @Html.DropDownList(“讲师字符串”,listofinstructors.Select(tch=>new SelectListItem{Text=tch.ToString(),Value=tch.ToString(),Selected=tch.ToString().Equals(“Pick One”)),new{@class=“teacherList”}) } 其他的 如果(Model.registrations!=null) { @Html.DropDownList(“searchString”,Model.Enrollments.FirstOrDefault().WeekDays.Select(s=>new SelectListItem{Text=s.ToString(),Value=s.ToString(),Selected=s.ToString().Equals(selectedday)}),new{@class=“daylists”}) @Html.DropDownList(“讲师字符串”,listofinstructors.Select(tch=>new SelectListItem{Text=tch.ToString(),Value=tch.ToString(),Selected=tch.ToString().Equals(selectedteacher)}),new{@class=“teacherList”}) } @: } @:
    你好,我有一个猜测(很抱歉,我没有使用razor,但我有一些html经验)

    if(cnt++%4==0)
    {
    @:消息

    验证(HTML5):在开始和结束之间不允许使用文本 元素tr'的结束标记

    这意味着您缺少
    TD
    TH
    元素。由于
    TR
    表示“表行”,而一行仅包装一组列,因此需要
    TD
    TH
    元素包装文本

    您不会显示代码的其余部分,但您可能有如下内容:

    @foreach (var course in courses)
    {
        if (cnt++ % 4 == 0)
        {
            @:  </tr> <tr>
        }
    
        @course.Data <-- Outputting text after 'TR' without enclosing it in a TD/TH
    }
    
    @foreach(课程中的var课程)
    {
    如果(cnt++%4==0)
    {
    @:   
    }
    @当然,数据
    
    @foreach (var course in courses)
    {
        if (cnt++ % 4 == 0)
        {
            @:  </tr> <tr>
        }
    
        @course.Data <-- Outputting text after 'TR' without enclosing it in a TD/TH
    }
    
    <td>
        @course.Data
    </td>