2014-06-09 3 views
-1

asp.net 페이지에서 jquery-tagthis 플러그인을 사용하고 싶습니다. 모든 것이 잘 작동하지만 런타임에 html 속성에 액세스 할 수 없습니다!ASP.NET - 런타임에 HTML 속성에 액세스

jQuery 플러그인은 "데이터 값"이름을 사용하여 html 속성을 만듭니다. 런타임시 속성에 액세스 할 때 해당 null! 이 속성을 aspx 코드로 정의하면 jquery로 값을 변경하지 않고 초기 값으로 속성에 액세스 할 수 있습니다. 브라우저에서 html 코드를 확인하고 모양이 좋으며 모든 것이 정상이지만 서버 쪽에서는 초기화 된 값이 있습니다. Page_Load 및 다른 이벤트를 확인하고 찾을 수 없습니다. 문제 또는 값.

나는 runp = "server"와 함께 div의 Panel insted를 사용했으나 아무 것도 변경하지 않았습니다!

ASPX 코드 :

<asp:Panel ID="Tags" runat="server" data-value="test" ClientIDMode="Static"></asp:Panel> 

jQuery를 변화 값 (잘 동작, 개발자 도구를 사용할 때 내가 브라우저에서 새 값을 참조하기 때문에)

$("#Tags").attr('data-value', commadelimitedTags); 

그리고 C# 코드 뒤에 :

string t = Tags.Attributes["data-value"]; 

Page_Load 및 ASP에서 : Button On Click 이벤트, 해당 "test"값만 반환!

+0

'data-attribute' 태그는 일치 된 요소와 관련된 임의의 데이터를 _ 저장하는 데 사용됩니다. '$ ("# Tags") 데이터 ('value')'를 사용해 보셨습니까? 또한 어떤 버전의 .net을 사용하고 있습니까? – Krishna

+2

이것은 예상되는 동작입니다. 값을 사용자에게 표시하지 않고 서버에 반환하려면 HiddenFields를 사용합니다. –

+0

마침내 내가 asp : hiddenfield를 사용하지만, 왜 데이터가 서버로 전달되지 않았는지 궁금하다. 그리고 지금은 이것이 asp.net의 행동임을 압니다. 답장을 보내 주셔서 감사합니다. – mRizvandi

답변

1

html 요소의 속성은 절대로 서버에 게시되지 않습니다.

당신은 다음을 수행해야합니다

첫째, 귀하의 "저장"버튼을, 모든 .NET의 OnClick 방법을 넣지 마십시오. 저장 함수를 호출하는 javascript 메소드 만 넣으십시오.

둘째, 저장 기능에서 모든 속성을 찾아 숨겨진 필드에 넣습니다. 내용이 동적 인 경우 json으로 직렬화하여 숨겨진 단일 필드에 넣을 수 있습니다.

셋째, $('#buttonId').click()과 함께 .NET 이벤트를 첨부 한 버튼의 클릭 이벤트를 호출하십시오. 이 이벤트에서 숨겨진 필드의 내용을 찾을 수 있습니다.

+0

당신에게 최고의 솔루션을 주셔서 감사합니다, 나는이 솔루션을 사용하여 서버에 속성을 전달합니다. – mRizvandi

0

(가) (사업부 등) 페이지 요소에 속성 코드 뒤에 당신은 자바 스크립트를 사용하여 만들 수있는 변화를 읽을 수 있도록 돌아 가기을 게시하지 않습니다.

그래서 코드 뒤에 설정할 수 있지만 자바 스크립트로 변경하면 다시 코드에 게시되지 않습니다.

코드 뒤에 값을 보내려면 HiddenField을 사용하고 값을 설정 한 다음 코드 뒤에 읽으십시오.

+0

귀하의 솔루션에 감사드립니다. 그것의 좋은 작품. asp.net dosent는 html 속성을 서버에 전달합니다.나는 page_load 이벤트에 코드로 속성을 만들지 만, dosent는 아무 것도 변경하지 않습니다! 나쁜 ASP.NET :) – mRizvandi

+1

@MehdiRizvandi보세요, 브라우저 때문에 속성이 서버로 전달되지 않았습니다. asp.net은 이것과 아무 상관이 없습니다. – Aristos

+0

잘 됐네. 그럼 나쁜 브라우저;) 귀하의 의견을 보내 주셔서 감사합니다. – mRizvandi

관련 문제