2010-03-02 5 views
8

사람은 닷넷 서버 측에 JQuery와의 힘을 활용할 수 있습니다 경우 알고 있나요?jQuery를 서버 측 DOM 조작

예를 들어 나는 뒤에 몇 가지 코드의 String과 같은 일부 HTML을 가지고있다. 거기에 JQuery를 실행할 수있는 방법이 있습니까? 나는 현재이 일을하고있어

...

이 문자열이라고 가정 ...

<input id='AddressSettings_txtFirstName' name='txtFirstName' 
value='#firstNameValue#' size='25' type='text' class='val_required'/> 

내 C#이

strHTML = strHTML.Replace("#firstNameValue#", customerInfo.FirstName); 

않습니다 그리고 이것은 내 결합하는 방법입니다 내 HTML로 데이터.

이제 place holder로 # firstNameValue #를 추가하고 대신 C# 코드의 HTML 문자열에서 JQuery 줄을 실행하고 싶으면 대체하고 싶습니다.

strHTML = strHTML.ExecuteJQuery("$('#AddressSettings_txtFirstName').text('" 
     + customerInfo.FirstName + "')"); 

내 선택 항목은 무엇입니까? 모든 의도와 목적을 위해

+0

나는 대답이 '아니오'라고 생각되지만 질문에 흥미가 있습니다. (js는 내가 아는 한 클라이언트 쪽만 ...) –

+0

나는 누군가가 .Net 객체 내부에 파이어 폭스 빌드를 감쌀 수 있다는 이론이다. 모든 기능이 필요하지도 않습니다. HTML 페이지를로드하고 해당 페이지에서 Javascript를 실행 한 다음 페이지를 리턴하는 기능. 확실히 누군가가 이것을 어딘가에서 해왔을 것입니까? – ctrlShiftBryan

+0

그렇게하는 것은 의미가 없습니다. 파이어 폭스가 다른쪽에 있다는 것을 보장 할 수 없으므로 특정 브라우저의 DOM 모델에서 렌더링하는 것은 다소 쓸모가 없다. 또한, 당신은 이것을 완전히 잘못된 길로 생각하고 있습니다. 반환 된 전체 HTML에 액세스 할 수 있으며 브라우저에 도달하기 전에 HTML의 모든 측면을 조작 할 수 있습니다. 서버 측에서이를 수행하는 기술 세트는 근본적으로 다릅니다. 보유한 데이터로 원하는 곳에 HTML을 삽입하기 만하면됩니다. 그것은 간단합니다. – casperOne

답변

4

는, 대답은 "아니오"(이 처리의 일부 모호한 방법이있을 수 있지만, 가장 최적의 방법이 아니다)이다.

서버 쪽에서 생성되는 HTML을 조작하는 방법을 찾고있는 것으로 보입니다. 이는 매우 합법적 인 욕구입니다. .NET을 사용하는 서버 측 접근 방식) 기술은 클라이언트 측에서 어떻게 접근 할 것인가와 근본적으로 다릅니다. 컨텐츠가 이미 클라이언트에 렌더링되기 때문에

, 당신은 수정 apprach하는 방법과는 다릅니다. 서버에서 페이지는 클라이언트가 액세스 할 필요가없는 데이터 (리소스 및 라이브러리는 물론)를 사용하여 최종적으로 HTML을 클라이언트에 렌더링하는 다양한 부분으로 구성됩니다.

그것은 당신이 무슨 일을 달성하기 위해 서버에서 사용할 수 무엇을 사용하려는 이유입니다.

당신이 웹폼 모델 또는 ASP.NET의 MVC 모델을 사용하든

, 당신은 태그 스스로를 작성하지 않고도 데이터에 바인딩 할 수있는 메커니즘이있다.

예를 들어 WebForm 모델의 경우 TextBox class이 있으며 Text property을 설정할 수 있습니다.

ASP.NET MVC에는 InputExtensions classTextBox extension method이있어 텍스트 상자의 내용을 전달할 수 있으며이 메서드는 태그를 렌더링합니다.

0

DOM은 브라우저 관련 엔티티입니다. 따라서, 당신이 추구하는대로 직접 사용할 수 없습니다. 그러나 조작하려는 내용을 결정할 수 있으며 .live()을 사용하거나 jQuery 코드를 호출하여 요소가 추가 될 때 동작 요소를 추가 할 수 있습니다. 변경 사항 :

<input id='AddressSettings_txtFirstName' name='txtFirstName' 
value='#firstNameValue#' size='25' type='text' class='val_required'/> 

$('#AddressSettings_txtFirstName').change(function(){ 
// do stuff here 
}); 

변경 사항은 예를 들어 변경됩니다. 편집 : 다른 옵션은 클라이언트가 아약스와 JSON을 사용하여 데이터를 가져 오는 것입니다. 그러나 이는 현재 작업하는 방법에있어 약간의 변화입니다.

0

그럼 자바에 대한 대답입니다. HereHere John Resig라는 이름의 사람이 제공합니다. (그가 JQuery에 관해서 hes에 대해 이야기하는 것을 알고 있는지 확신하지 못한다 ... wink wink)

이제 .Net은 어떻습니까?

-1

이 기술은 과 매우 비슷하며 나쁜 소식은 자바 기반입니다.

1

Node.js에 jsdom과 함께 jQuery를 사용하십시오. 서버 측에서 javascript를 사용하여 DOM 요소를 조작하는 가장 쉬운 방법입니다.