2011-02-10 3 views
2

li 안에 <asp:Panel>이 있으므로 html 유효성이 검사되지 않습니다.변경 asp.net 패널에서 div에서 span으로 렌더링 된

divspan으로 바꾸는 데 도움이 되셨습니까?

ASP.NET 4.0 웹 사이트에서 C# 코드를 사용하여이 작업을 수행하고 있습니다.

+5

일부 답변을 수락 하시겠습니까? –

+0

패널 안에 무엇이 있습니까? –

+2

패널을 가지고 무엇을 _do_합니까? ''으로 정의 할 수 없습니까? –

답변

1

Eilon Lipton의 기사 Customizing the rendering of the UpdatePanel을 살펴보십시오.

그는 css 클래스와 사용자 정의 태그 속성으로 업데이트 패널을 확장하는 방법을 보여줍니다.

+0

그것은 asp : Panel이지 UpdatePanel이 아닙니다. – PHeiberg

+0

@PHeiber : 네,하지만 아이디어는 같습니다. 나는 예제로만 링크를 올렸습니다. – Alex

+0

그러면 OP에서 Panel의 DefaultButton 비헤이비어를 사용하려는 소망이 삭제됩니다 (단, OP에서 해당 소지품에 소원이 명시되어 있지는 않지만). 렌더 자식 메서드에서 해당 동작에 대한 코드를 수동으로 추가 할 수 있다고합니다. – PHeiberg

5

레이블 컨트롤을 사용하십시오. 이것은 스팬과 동일합니다. 패널 렌더링 방식은 변경할 수 없습니다.

+0

패널에 defaultbutton이 지정되어 있습니다. – Adam

+1

예, 번역되지 않습니다. 또한 DIV가 스팬 레이아웃처럼 작동하기를 원한다면 뭔가를 생각해보십시오 : style = "display : inline;"을 추가 할 수 있습니다. CSS로 원하는 것을 얻을 수 있습니다. –

1

패널 내용에 대한 기본 버튼 동작을 적용하고 패널을 일반 <span> 요소로 바꾸려면 javascript를 추가하십시오.

jQuery를 사용하는 경우 here의 두 가지 예가 있습니다 (덧글도 확인하십시오).

+0

-1 : 모호성을 통한 보안은 매우 추상적 인 방식으로 여기에 있습니다. OP에 시간이 지나면 많은주의 사항을 찾아 낼 수있는 해결책이 있지만, 이제는 다른보기 컨트롤러가 있습니다. ! –

+0

@Mr. 실망 : 필드를 눌러서 눌렀을 때 기본적으로 클릭 할 버튼을 컨트롤러에 알려주는 책임은 어떻게되는지를 알지 못합니다. 그것은 전적으로보기 IMO의 구현에 달려 있습니다. 당신의 요점을 놓치고 있습니까? – PHeiberg

2

div에서 span으로 렌더링을 변경할 수 있습니다. Control Adapter을 만들어 패널의 기본 렌더링을 무시할 수 있습니다. 당신은 그들에 대해 읽을 수 있으며 몇 가지 예제를 참조하십시오 herehere.

그러나 문제를 해결하기위한 또 다른 옵션이 있다고 생각합니다.. 이와 같은 표준 컨트롤의 동작을 변경하면 향후 개발자가 앱에서 진행중인 작업을 이해하기 어려울 수 있습니다. 그리고이 작업을하기위한 노력은 다른 솔루션 중 하나를 사용하는 것 이상일 수 있습니다! 난 당신이 이미 그들과 패널에 많은 페이지를 가지고 당신이/다른 메커니즘에 그들을 모두 변경할 수없는 경우에만 합리적인 것으로 볼 수 있습니다.

0

스타일을 지정하기 위해 태그를 변경하려면 divdisplay:inline을 추가하면됩니다. span

+0

그것은 여전히 ​​IE7에서 div 역할을합니다 :) – StronglyTyped

관련 문제