0

我有完整的代码列表及其描述,数据库中有 24 条记录

我使用存储的 Proc 从数据库中进行选择,并将其输出到 VIEW()。

用户点击这些复选框,他希望有多少,然后它被发布到数据库到另一个用户表中。

我扫描此用户表以获取他检查过的数据.. 说在 24 个中他检查了 10 个复选框。

我希望能够输出所有带有用户选中的相关框的复选框。我有数据,所有复选框都在 VIEWBAG 中的列表中。而且我还有一个用户表,其中包含他也在一个单独的列表中检查的数据,在一个 VIEWBAG 中,以便我可以在 VIEW 中访问它。

我如何输出所有复选框,但还要检查用户使用从控制器传递的 VIEWBAG 所单击的复选框?

下面的代码只是遍历所有数据并输出所有复选框。我需要确保新的 VIEWBAG.USER 中的那些用于检查下面的相关框:

    @foreach (var item in ViewBag.Expertise)
    {
        l_count = l_count + 1;
        l_code = l_code + 1;

        if (l_count == 1)
        {                                                          
            <td class="tdcheckbox">
                <input type="checkbox" name="code@(l_code)" value="@item.expertiseCode" />
                <b>@item.expertiseDesc</b>
            </td> 
            else if (l_count < 3)
            {    
                <td class="tdcheckbox">
                    <input type="checkbox" name="code@(l_code)" value="@item.expertiseCode" />
                    <b>@item.expertiseDesc</b>
                </td>
            }
            else if (l_count == 3)
            {           
                <td class="tdcheckbox">
                    <input type="checkbox" name="code@(l_code)" value="@item.expertiseCode" />
                    <b>@item.expertiseDesc</b>
                </td>                                                            
            }
            else if (l_count % 2 == 0 && l_count == 4)
            {         
                <td class="tdcheckbox">
                    <input type="checkbox" name="code@(l_code)" value="@item.expertiseCode" />
                    <b>@item.expertiseDesc</b>

                @if (@item.expertiseCode == "OTHER")
                {
                    @Html.TextBox("@item.otherExpertise")
                    <br /><font color="red">Comma separate specific expertise</font>
                }
                </td>   

                @:<tr></tr>
                l_count = 0;
4

1 回答 1

0

如果我正确理解您的问题,您可以执行以下操作。

把它放在你的视图顶部

@{var ids = (List<int>)ViewBag.USERS);

然后,当您遍历所有复选框时,您可以执行以下操作。

if (ids != null && ids.Contains(item.expertiseCode))
{
   <input type="checkbox" name="code@(l_code)" value="@item.expertiseCode" checked />
}
else
{
  <input type="checkbox" name="code@(l_code)" value="@item.expertiseCode" />
}
于 2012-05-09T17:30:53.260 回答