2010-03-16 4 views
0

jeditable을 사용하여 페이지의 일부 내용을 편집하면 내용이 데이터베이스에 저장됩니다. 하지만 DB에서 텍스트 콘텐츠를 가져 와서 장소 소유자에게 보여줄 수있는 가장 좋은 방법은 무엇일까요? 내가Asp.net MVC, jeditable을 사용한 후 (편집 위치)

 
    p id="paraNo34" class="editable" 
    -->Some text here 
    /p 

I 것입니다 수 jeditable 사용하여 현재 위치-편집 할 수 있지만 내가 페이지를 새로 고침 할 때 표시됩니다 같은 "일부처럼 일부 하드 코드 된 텍스트를 사용할 경우

 
p id="paraNo34" class="editable" 
    -->What i will write here so that it will get content from a 
     db's table: [Content], where id=="paraNo34". 
/p 

문제는 텍스트를 여기에 "데이터베이스에서 데이터를 가져 오지로.

답변

1

귀하의 의사 코드는 뷰가 MVC의 안티 패턴 인 필수 데이터를 가져 오는 역할을하도록하려는 것입니다. 당신도 ViewData 또는 사용자 정의보기 모델을 사용하여 컨트롤러 액션의 텍스트를 검색하고 볼에 전달해야 예 :

public ActionResult Index(string id) 
{ 
    // call some method to fetch data from db 
    ViewData["ID"] = id; 
    ViewData["Content"] = content; 
    return View(); 
} 

그리고보기는 다음과 같은 :

<p id='<%= ViewData["ID"] %>' class="editable"> 
    <%= Html.Encode(ViewData["Content"]) %> 
</p> 

보다 나은 접근 방법은 강력한 형식의 뷰 모델을 만드는 것이고 (Stephen Walther는 뷰 모델 here에 대한 블로그 게시물을 가지고 있습니다.) 위의 예제는 컨트롤러에서 뷰로 데이터를 전달하는 방법을 보여줍니다.

관련 문제