在Repeater中禁用按钮

时间:2012-06-28 19:52:04

标签: c# asp.net button repeater

如何访问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();
        }
    }

1 个答案:

答案 0 :(得分:0)

不是你问题的直接答案......

但是我用于启用,可见和其他属性的一种技术是将该值提取到您用来填充转发器的查询中。例如,您的查询/存储过程可能会返回一个名为“is_enabled”的列,该列具有1或0作为值。然后你的按钮的.enabled属性可以这样设置:.enabled = '<%# eval(is_enabled) %>'

希望有所帮助