2

asp Repeater の特定の行にアクセスして、その中のボタンを無効にするにはどうすればよいですか? このプログラムは、すべての下ボタンを無効にします。userId がデータベースに存在するかどうかを確認したいので、上ボタンを無効にし、下ボタンのみを有効にする必要があります。

  public void Repeater1_ItemDatabound(Object Sender, RepeaterItemEventArgs e)
    {

        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            String userID = User.Identity.Name.Split('\\')[1]; 
             if (isOwner(userID) == true)
             {

                 Button b = e.Item.FindControl("btnmoveup") as Button;
                    b.Enabled = false;


            }

public bool isOwner(string user_ID)
    {
        using (SqlConnection connection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ctd_priority_dbConnectionString"].ConnectionString))
        {
            connection.Open();
            SqlCommand cmd = new SqlCommand("Select POwner from Projects WHERE POwner = @userid", connection);
            cmd.Parameters.AddWithValue("@userid", user_ID);
            SqlDataReader reader = cmd.ExecuteReader();

            if (reader.HasRows)
            {

                return true;
            }
            else
            {
                return false;
            }
            connection.Close();
        }
    }
4

1 に答える 1

0

ご質問への直接の回答ではありません...

しかし、私が有効、可視、およびその他のプロパティに使用した手法の 1 つは、リピーターを満たすために使用しているクエリにその値を取り込むことです。たとえば、クエリ/ストアド プロシージャは、値として 1 または 0 を持つ「is_enabled」という列を返すことができます。次に、ボタンの .enabled プロパティを次のように設定できます。.enabled = '<%# eval(is_enabled) %>'

それが役立つことを願っています

于 2012-06-28T19:57:49.127 に答える