2013-07-23 2 views
1

ASP.NET MVC 웹 응용 프로그램 내에서 CSS 문자열을 작성하는 솔루션을 찾으려고합니다. 내가 이것을 선택기 수준에있을 것으로 기대합니다. 예를 들어, 다음과 같은 CSS 문자열을 가질 수있는 "TableFormat"클래스가있을 수 있습니다. 대신 CSS를 알 필요 내 사용자가, 그들은 글꼴, 색상 등을 선택 후 무대 뒤에서 위젯이 위의 문자열을 구성 할 수있는 위젯이 훨씬 더 좋을 것이다 갖는MVC ASP.NET 응용 프로그램 내에서 CSS 문자열을 작성하는 솔루션을 찾으려고합니다.

font-family: Arial, Helvetica, sans-serif; 
font-size: 12px; 
font-style: normal; 
text-align: left; 
background-color: green; 
color: White; 

. 그런 다음 나중에 이것을 면도기보기에서 사용할 수 있도록 DB에 저장합니다. JS 위젯으로 존재할 수도있는 일이라고 생각합니다. 그러나 나는 DW와 같은 더 큰 패키지 내의 헌신적 인 CSS 빌더와 다른 점을 발견하지 못했다.

그래서 내 질문은 : 당신이 위의 기능을 제공하는 ASP.NET MVC 세계에서 아마도이, 또는 다른 컨트롤을하는 자바 스크립트 제어 알고

마십시오. 이것은 텍스트 영역으로 매핑됩니다. 그렇지 않으면 나 자신의 컨트롤을 작성해야 할 수도 있습니다.

+0

). –

+0

의견을 보내 주셔서 감사합니다. 나는 희망을 갖고 명확성을 추가하는 나의 질문을 편집했다. – SamJolly

+0

소셜 네트워크를 구축하고 있습니까? 사용자가 웹 사이트 모양을 변경해야하는 이유는 무엇입니까? 스타일을 만들고 사용자가 선택할 수있는 테마를 사용할 수 없습니까? 지금까지 무엇을 발견 했습니까? 우리 도서관의 구현 조언을 우리에게 무엇을 원하십니까? – CodeCaster

답변

3

사용자가 원하는 속성을 선택하여 데이터베이스에 저장할 백엔드 부분을 빌드해야합니다.

당신은 그 지정 값을 처리하는 새로운 Controller, 이런 식으로 뭔가를 만들 수 있습니다보다

public class CssController : Controller 
{ 
    public ActionResult Custom() 
    { 
     ViewData["fontFamily"] = "Arial, Helvetica, sans-serif"; //get from database 
     ViewData["fontSize"] = "12px";       //get from database 
     ViewData["selector"] = ".TableFormat";     //get from database 

     return View(); 
    } 
} 

Custom.cshtml 당신은/CSS/사용자 정의로 이동하면보기이

@{ 
    Layout = null; 
    Response.ContentType = "text/css"; 
} 

@ViewData["selector"] 
{ 
    font-family: @ViewData["fontFamily"]; 
    font-size: @ViewData["fontSize"]; 
} 

과 같을 것 이 같은 것을 볼 수 있습니다.

.TableFormat 
{ 
    font-family: Arial, Helvetica, sans-serif; 
    font-size: 12px; 
} 

이제 동적으로 생성 된 CSS에서보기를 일반 CSS 파일로 포함시킬 수 있습니다 (예 :

<link href="/Css/Custom" rel="stylesheet" /> 
+0

큰 감사 DZL. 네, 당신의 접근 방식은 현재 가지고있는 접근 방식이고, 면도기 뷰 내에서 LINQ를 사용하여 CSS 레코드를 반복합니다. 그것은 작동하지만 "Theme"에있는 많은 CSS 속성을 사용하면 어색해집니다. 그래서 전체 CSS 문자열을 편집하고 저장할 수있는 솔루션을 살펴보고 CSS 구성 및 해체를 텍스트 영역 필드의 꼭대기에있는 영리한 UI 위젯에 위임했습니다. 그러나 나는이 위젯이 존재하지 않는다는 느낌을 받고 있습니다. 다시 큰 감사. – SamJolly

관련 문제