JavaScript 在 View MVC4 中不起作用



我试图通过更改行的背景颜色来对 id=2 的行进行高线。我在View中使用了JavaScript,但它在运行代码后确实改变了任何内容。这是我的代码。

<table class="GoalDistribution">
@{var i = 0;}
@foreach (var item in Model) {
    <tr id = "@i">
        <td>
            @Html.ActionLink(item.ORDER_NO, "MKP_003", "MKP_003", new { id = item.ORDER_NO }, new { })
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.MODEL)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PJNO)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.DELIVERY_DESTINATION)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PRODUCT_START_DATE)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.FINISH_FLAG)
        </td>
    </tr>
    i++;
    if (item.PJNO == "100") { 
        <script type="text/javascript">
            $(".GoalDistribution #@(i)").css("background","yellow")
             </script>
    };
}
</table>

调试时,数据加载成功。顺便说一句:这是完成这项工作的最佳方式吗?我可以在控制器中处理它吗?非常感谢!

你可以

这样做,用这种方式. 只需添加一个类tri=1 . 写你的 scriot。

 i++;
 @if(i == 2)
 {
   <tr class="bgYellow">
 }else
 {
   <tr>
 }
        <td>
            @Html.ActionLink(item.ORDER_NO, "MKP_003", "MKP_003", new { id = item.ORDER_NO }, new { })
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.MODEL)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PJNO)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.DELIVERY_DESTINATION)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PRODUCT_START_DATE)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.FINISH_FLAG)
        </td>
    </tr>

并使用此脚本

<script>
    $(documet).ready(function(){
        $(".GoalDistribution).find('.bgYellow').css("background","yellow")
    });
    </script>

注意:Id 不应以数字开头。 将此脚本写在页面底部或顶部。

最新更新