0

ユーザーが情報を入力できるようにする asp:textbox があります。ユーザーが asp:button をクリックすると、テキスト ボックスのテキストが SQL データベースに挿入され、ページにリダイレクトされます。ユーザーが更新を押すと、ボタンからのイベントが再度呼び出されます。これを修正して、呼び出されないようにするか、情報を再投稿しないようにする必要があります。

protected void PostButton_Click(object sender, EventArgs e)
{
    if (txtWallPost.Text.Length > 0)
    {
        string strCon = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["SocialSiteConnectionString"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(strCon))
        {
            using (SqlCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = "INSERT INTO [WallTable] ([UserId], [FriendId], [WallPost]) VALUES (@UserId, @FriendId, @WallPost)";
                cmd.Parameters.AddWithValue("@UserId", User.Identity.Name);
                cmd.Parameters.AddWithValue("@FriendId", User.Identity.Name);
                cmd.Parameters.AddWithValue("@WallPost", txtWallPost.Text);
                conn.Open();
                cmd.ExecuteNonQuery();
                conn.Close();
                txtWallPost.Text = "";
                LoadWallPosts();
                Response.Redirect("~/UserPages/UserProfile.aspx?view="+"wall");
            }
        }
    }
    return;
}
4

2 に答える 2

4
于 2009-04-13T15:17:23.367 に答える
0

ウォールポストテキストのセッションIDを追加するだけになりました。post メソッドでは、テキスト ボックスのテキストがセッション テキストのテキストと異なることを確認します。更新すると、セッションがクリアされるため、正常に動作します。

于 2009-04-13T15:20:39.893 に答える