2011-09-21 7 views
1

사용자가 강조해야 할 웹 페이지의 임의의 텍스트를 사용자가 선택하고 해당 텍스트를 C#의 문자열로 저장해야하는 경우 텍스트 저장에 관심이 있습니다.선택한 텍스트를 강조 표시하고 저장하십시오.

이전에 동일한 사용자가 동일한 페이지를 볼 때 다음에 텍스트가 강조 표시되어야합니다. 누구나 간단하고 우아한 방법을 알고 있다면 정말 고맙겠 습니다만 지금은 어떤 해결책을 택할 것입니다. 비록 당신이 옳은 방향으로 나를 가리킬 수 있다고해도 그것은 인정 될 것입니다.

미리 감사드립니다.

+0

자바 스크립트를 사용하여 클라이언트 측에 있어야합니다 –

+0

이것은 흥미로운 질문입니다. Javascript/Jquery를 사용하여 어떤 것을 선택해야하는지, 이것이 실제로 가능한지 확신 할 수 없다고 생각합니다. 이 정보를 서버에 전달하고 저장 한 다음 동일한 사용자가 다음에로드 할 때 검색해야합니다. 어디서나 페이지의 모든 레이블이나 컨트롤 또는 페이지에 하나 또는 두 개의 텍스트 상자가 있음을 의미합니다. –

+0

[1]의 가능한 복제본 : http://stackoverflow.com/questions/2557703/manipulate-highlighted-text-with-javascript [2] : http://stackoverflow.com/questions/5379120/jquery-get- 강조된 텍스트 –

답변

0

userId 및 텍스트를 수신하고 데이터베이스에 저장하는 서버 측에 서비스 WCF 또는 Webservice를 작성해야합니다.

[WebMethod(Description = "Save Text")] 
     public string Savetext(int userId ,string text) 
     { 
} 

두 번째 방법은 아약스 (JQuery와)

0

당신이 할 수있는 호출을 사용 invokation을 클라이언트 측에서 사용자 ID

[[WebMethod(Description = "Get text")] 
     public string GetText(int userId) 
     {} 

에 의해 daatabase에서 텍스트를 가져 오지 것이다 선택한 텍스트를 캡처하여 및 ajax 호출을 통해 데이터베이스로 보냅니다. 이 부분을 확인하십시오 example 선택한 텍스트를 캡처 할 수 있습니다.

당신이 jquery를 사용하는 경우

은 다음 페이지에서 선택한 텍스트

<textarea id="txt"></textarea> 
<script> 
    $(document).ready(function(){ 
     $('textarea').select(function() 
     { 
     var selectedText=window.getSelection(); 
     //here put the ajax call to your webservice 
     }); 
    }); 
</script> 
0

에게 사용이 선택하려면 텍스트를 캡처 할 수 select() 기능을 사용합니다 : http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html

다음 이벤트 mouseup에 일부 HiddenField에 복사합니다. 이제 mouseup에 단추 또는 AJAX 호출이 필요하므로 서버로 보낼 수 있습니다. 서버 측에서는 UserID 및 페이지 주소 또는 ID와 함께 DB에 저장합니다.

이 사용자에 대한 다음 번 방문시 DB에 체크인하십시오. 존재하는 경우 일부 숨겨진 필드에 텍스트를 넣으십시오. 그런 다음 jQuery를 사용하여 해당 텍스트를 클라이언트 측에서 얻고, 페이지에서 (정규식 또는 무언가를 사용하여) 그것을 찾고 선택하십시오. 까다로울 수있는 텍스트를 찾는 동안 HTML 마크 업을 무시하는 것을 기억해야합니다. ...

이렇게하면 일반적인 방법입니다.

관련 문제