0

私のアプリケーションは、チェックボックス付きのテーブルの 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);
}

助けてください。ありがとう。

4

1 に答える 1

0

入力タグをサーバーに投稿する場合、それらはフォーム タグ内にある必要があります。次に、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 と、チェックされているかどうかが含まれています。

于 2012-05-14T06:12:46.037 に答える