【问题标题】:CheckboxList in ASP.Net MVC3ASP.Net MVC3 中的复选框列表
【发布时间】:2012-05-14 14:36:46
【问题描述】:

我的应用程序需要对带有复选框的表进行 HTTP 发布。在控制器端,我需要遍历表并对检查的每一行执行某些操作。

我需要做的事情是:

判断某行是否被选中

这是我的代码:

查看:

@model IEnumerable<LinqToTwitter.User>
@{
    ViewBag.Title = "Page d'accueil";
}
<h2>Twitter</h2>
<table>
    <tr>
    <td>
        <input id="Checkbox1" type="checkbox" />
    </td>
    </tr>
@foreach (var tweet in Model)
{               
    <tr>
        <td>
            <input id="rowIDs" type="checkbox" />
        </td>
        <td>
            <img alt="" src="@tweet.ProfileImageUrl" />
        </td>
        <td>
            <strong>@tweet.Name</strong>
            <br />
            Friends: <strong>@tweet.FriendsCount</strong>
        </td>
    </tr>
}
</table>

控制器:

{.....
    string nextCursor = "-1";

    List<LinqToTwitter.User> result = new List<LinqToTwitter.User>();
    while (!string.IsNullOrEmpty(nextCursor) && nextCursor != "0")
    {
        var followers =
        (from tweet in twitterCtx.User
            where tweet.Type == UserType.Followers &&
            tweet.ID == auth.UserId &&
            tweet.Cursor == nextCursor
            select tweet).ToList();

        result.AddRange(followers);
        nextCursor = followers[0].CursorMovement.Next;
    }
    return View(result);
}

请帮忙。谢谢。

【问题讨论】:

  • 为了让我们帮助您,您需要发布一些关于您迄今为止尝试过的代码。 Stack Overflow 是用来帮你解决问题的,不是帮你解决问题的。
  • 谢谢@jacqijvv 这是我的代码,

标签: c# asp.net-mvc checkbox


【解决方案1】:

如果要将输入标签发布到服务器,它们必须在表单标签中。那么你的 html 必须是这样的:

@model IEnumerable<LinqToTwitter.User>
@{
         ViewBag.Title = "Page d'accueil";
}
<h2>
    Twitter</h2>
@using (Html.BeginForm())
{
    <table>
        <tr>
            <td>
                <input id="Checkbox1" type="checkbox" />
            </td>
        </tr>
        @foreach (var tweet in Model)
        {               
            <tr>
                 <td>
                    <input id="@("chk" + @tweet.ID.ToString())" type="checkbox" name="@("chk" + @tweet.ID.ToString())"  />
                </td>
                <td>
                    <img alt="" src="@tweet.ProfileImageUrl" />
                </td>
                <td>
                    <strong>@tweet.Name</strong>
                    <br />
                    Friends: <strong>@tweet.FriendsCount</strong>
                </td>
            </tr>
        }
    </table>
}

注意如何通过 HtmlHelper 定义表单标签和定义复选框以具有唯一 ID。

你的控制器代码如下:

Dictionary<int, bool> isChecked = new Dictionary<int, bool>();

foreach (LinqToTwitter.User item in twitterCtx.User)
{
    if (Request.Form["chk" + item.ID.ToString()] != null && Request.Form["chk" + item.ID.ToString()] == "on")
        isChecked.Add(item.ID, true);
    else
        isChecked.Add(item.ID, false);
}

现在 isChecked 字典包含每个项目的 Id 以及是否检查。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2012-11-05
    相关资源
    最近更新 更多