2013-03-04 2 views
0

WEBRESOURCE가 CSS와 C# 코드가 동일한 페이지에서 작동하는 상황에서 어떻게 작동합니까?. CSS 블록의 webresource에 'WebResource'가 선언되어 있지 않습니다. 보호 수준으로 인해 액세스 할 수 없습니다. 이미 어셈블리에 [assembly: WebResource("Common.AdResources.tick.png", "image/png")]을 추가하고 PNG 파일에 대한 조치를 구축 한aspx 웹 리소스 문제

ClientScriptManager.GetWebResourceUrl() 전화를 당신이 필요로하는 페이지 코드 내에서 포함 된 리소스


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
<style type="text/css"> 

    .selling_points_title_row 
    { 
     font-weight:bold; 
     font-family:arial; 
     font-size:14px; 
     width: 250px; 
    } 

    .bui, .con { color: #636B3B; } 
    .veh { color: #D4541D; } 

    .selling_points_header_row 
    { 
     background-image: url('<%= WebResource("Common.AdResources.tick.png")%>'); 
     background-repeat: no-repeat; 
     font-weight:bold; 
     font-family:arial; 
     font-size:14px; 
     width: 250px; 
     padding-left: 30px; 
    } 

    .selling_points_content_row 
    {   
     font-family:trebuchet ms; 
     font-size:12px; 
     color: #333333; 
     width: 250px; 
     padding-left: 30px; 
    } 

    hr { color: #cccccc; } 
</style> 


    <script type="text/VB" runat="server"> 

     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

      Select Case Session("type") 
       Case Is = "V" 
        vPoints.Visible = True 
       Case Is = "B" 
        bPoints.Visible = True 
       Case Is = "C" 
        cPoints.Visible = True 
       Case Else 
        'Don't show anything 
      End Select 
     End Sub 



    </script> 
</head> 
<body> 

<asp:Panel id="vPoints" runat="server" visible="False"> 
<asp:Panel id="bPoints" runat="server" visible="False"> 
<asp:Panel id="cPoints" runat="server" visible="False"> 

답변

1

로 설정됩니다. 추가 정보를

체크 아웃 MSDN : http://msdn.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.getwebresourceurl

+0

Page.ClientScript.GetWebResourceUrl (Me.GetType는(), "Common.AdResources.tick.png")는 는 그것을 시도하지만, 런타임에서 말하는 예외를 throw 리소스를 찾을 수 없습니다. – Chief

+1

페이지의 유형이 동적으로 컴파일 된 어셈블리에 있기 때문에 리소스가 페이지의 자체 유형에 포함되지 않을 수 있습니다. 웹 리소스를 포함하는 어셈블리에있는 형식을 전달해야합니다. 이를 다시 확인하려면 Assembly.CodeBase를 Me.GetType()으로 인쇄 한 다음 DLL에서 .NET Reflector (또는 ILSpy)를 가리킨 다음 해당 이름의 리소스가 실제로 있는지 확인합니다. – Eilon

+0

나는 어셈블리를 조사한 결과 "tick"이라는 이름의 리소스가 없다는 것을 알게되었습니다. 왜 그런 일이 일어나고이 자원은 어디에있을 수 있습니까? – Chief