2012-06-28 3 views
2

asp Repeater의 특정 행에 액세스하고 해당 버튼을 비활성화하려면 어떻게합니까? 이 프로그램은 모든 아래쪽 버튼을 비활성화합니다. userId가 Database에 있는지 확인하고 싶습니다. 위로 버튼을 비활성화하고 아래쪽 버튼 만 활성화해야합니다.리피터의 버튼 비활성화

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(); 
     } 
    } 
+0

을하는 데 도움이 .enabled = '<%# eval(is_enabled) %>'

희망은 가난한 관행을 나타냅니다. – Candide

+0

그리고 프로그램은 어떻게됩니까? 약간의 오류가 있습니까? JQuery를 사용해 보셨습니까? –

+0

http://tinypic.com/r/1793pk/6 이것은 내가 원하는 것입니다 ... 모든 버튼이 오른쪽에서 활성화되어 있습니다 ... 내 이름 옆에있는 버튼을 활성화하면됩니다. – Pradit

답변

0

하지 귀하의 질문에 직접 답변을 ... 내가 활성화, 볼 및 기타 속성에 사용했습니다

그러나 한 기술은 당신이 채우기 위해 사용하고있는 쿼리에 그 값을 끌어 것입니다 중계기. 예를 들어, 쿼리/저장 프로시 저는 값이 1 또는 0 인 'is_enabled'라는 열을 반환 할 수 있습니다. 그런 다음 버튼의 .enabled 속성은 다음과 같이 설정할 수 있습니다 : 모든 항목에 isOwner 방법 쿼리이기는하지만, 잘 보이는

+0

http://tinypic.com/r/1793pk/6 나는 초보자이며 그것에 대해 많은 생각을 갖고 있지 않다 내 userID로 행에 액세스 할 수 있고 버튼을 비활성화 할 수 있습니까? if (isOwner (userID) == true) { Button b = e.Item.FindControl ("btnmoveup")을 Button으로 사용합니다. b.Enabled = false; } – Pradit

+0

지금은 두 가지 검색어를 실행 중입니다. 먼저 중계기를 채우고 있습니다. 둘째, 리피터를 반복하면서 POwner에 대한 쿼리를 실행합니다 (각 리피터 행마다 반복해서). 그보다 먼저, 귀하의 첫 번째 쿼리에서 POwner를 결정하려고 노력하십시오 - 원래 리피터를 채우는 쿼리? 말이 돼? 그 이외에, 내 대답에 코드가 직접 마크 업에 추가됩니다 - 아마, 당신은 ASP를 포함 귀하의 리피터에 대한 마크 업있어 : 버튼 ... – Chains

+0

당신이 말한 것을 이해하지만 나는 할 수 있다고 생각해. 이 구현 .. 그 asp.net 시작한 이후 불과 한 달 동안 ... Powner에 대한 행을 반복하는 동안 일치하는 행의 인덱스를 찾을 수 있습니까? – Pradit