0

HTML 5 に変更したところ、以前にはなかったエラーが突然発生します。エラーメッセージは次のとおりです。

検証 (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>
        }

こんにちはCoderOll、助けてくれてありがとう。あなたの提案は最初のタグの解決策でしたが、下に貼り付けた2番目のタグは、以下に示すように、間にテキストがあると考えているようです. Razor の明示的なコード ナゲットを調査したところ、次のようなあいまいなコード ステートメントのラップに関する情報が見つかりました。</p>

  @foreach(var item in order.Items){
Var itemName-(GetOrderItemName<string>(item)):
 <li>@itemName</li>…

しかし、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> 
4

2 に答える 2

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
}

次のようなものを試してください:

<td>
    @course.Data
</td>
于 2013-09-10T06:37:12.403 に答える