2013-01-31 2 views
0

page_load 이벤트에서 승인이 Admin인지 확인하고 있습니다.asp : asp.net로 변환하는 방법 asp : label asp : texbox로 변환하는 방법?

Admin 역할이 아닌 경우 사용 가능한 asp:label 컨트롤을 UI의 asp:textbox 컨트롤로 변경해야합니다.

  1. 은/asp:textbox 제어에 asp:label 컨트롤을 대체 동적으로 변환 할 수 있습니까?

  2. 전환/대체가 가능하면 jQuery 대신 코드에서 수행 할 수 있습니까?

<asp:Label ID="label1" runat="server" Text="Data">&nbsp;</asp:Label> 
+1

은 왜 하나 (.Visible = 거짓)을 페이지에 모두 컨트롤을 가지고 숨기지에 너는 필요없는 사람인가? –

+0

나는 whith @JeffSiver에 동의하고 변환에 관해서 - 당신은 캐스팅에 의해 다른 것에 돌릴 수 없다. 그리고 나는 .NET 라이브러리에 변환기가 있다고 생각하지 않는다. 어쩌면 몇몇 제 3 자 변환기가 존재한다. – Grx70

+0

Jeff , Grx70. 이 컨트롤은 하나의 양식으로 만 텍스트를 표시하려면 다중 레이블에 사용됩니다. 나는 내가 asp로 변환 할 수 있는지 궁금 해서요 : 텍스트 상자 그래서 내가 동일한 ID가 될 것입니다 레이블의 변경 사항을 저장해야합니다. 그러나 Grx70은 변환 할 수 없다고 말했습니다. 그래서 나는 당신의 제안을 사용했다. –

답변

0

당신은 ASP.NETMultiView을 사용하고 두 views을 가질 수 있습니다. view에는 label, 다른 하나에는 textbox이 있습니다.

if (user == "admin") 
    multiView1.SetActiveView(adminView) 
else 
    multiView1.SetActiveView(userView) 

다른 솔루션은 labeltextbox을 가지고 페이지가 적절하게 숨이하는 것입니다. 또한

0

, 당신은 TextBox 컨트롤을 표시 할 수있는 읽기 전용이 아닌 관리자 및 텍스트 상자 따라 스타일 :

if !User.IsInRole("Administrators") 
{ 
    TextBox1.ReadOnly = true; 
    TextBox1.BackColor = System.Drawing.ColorTranslator.FromHtml("#FFFFFF"); 
    TextBox1.BorderWidth = Unit.Pixel(0); 
} 
관련 문제