2009-11-19 6 views
1

LinkButton이 나를 두통 거리로 만듭니다. 나는 그들이 어리석게도 프로그래밍 방식의 링크를 만들 수 있다고 생각했습니다. 분명히 정상적인 링크처럼 행동하지 않으므로 의도적으로 (의도적으로) 주소가 표시되지 않으며 새 탭에서 열 수 없으며 새 탭에서 열 수 없습니다.LinkButton alternative? (정상적인 링크처럼 작동해야합니다.)

실제로 .NET에서 프로그래밍 방식으로 을 만들 수있는 대안이 있습니까? HTML 링크? 탭에서 여러 항목을 여는 기능은 일종의 요구 사항입니다. 단추 모양을 링크처럼 보이게했지만 여전히 단추처럼 동작하므로이 방법도 작동하지 않습니다. 어떤 아이디어?

편집 : 죄송합니다, 잊어 버렸습니다 : CommandArguments를 보내고 OnClick 이벤트를 설정하는 등의 기능이 필요하므로 HyperLink를 사용할 수 없습니다. 버튼으로 계속 작동해야합니다.

+0

LinkButton은 버튼과 비슷하지만 HyperLink처럼 보입니다. – David

+0

그래서 명확하게하기 위해 다시 게시를 원하지만 새 창에서 응답을 열려고합니까? 일반 링크처럼 전혀 그렇지가 않습니까? –

답변

3

HyperLink 대조군.

편집 난

질문에 응답 할


편집 Target 속성을 사용하여 설정할 수 있습니다 (새 창/탭에 대한)하여 NavigateUrl 속성을 사용하여 HREF 및 tagets 설정 당신이 뭘했는지 잘 모르겠다 - 질문은 "정상 링크와 같은 기능을하는"컨트롤을 요구하고있다. 클릭하면 새로운 윈도우/탭에서 열릴 수 있지만 CommandArguments와 OnClick 이벤트를 사용하여 정상 링크가 아닙니다.

여기에있는 문제는 명령 인수와 OnClick 이벤트의 포스트 백 처리가 서버에서 발생하지만 클라이언트에서 앵커의 "target"속성을 사용하여 "새 창에서 열기"가 발생한다는 것입니다. 태그 또는 JavaScript와 함께 사용) -이 두 가지가 모두 잘 어울리지는 않습니다.

마음에 옵션 봄의 몇 :

  1. LinkButton 사용하고, 당신이 다시 게시를 처리 할 경우, 출력 일부 자바 스크립트가 새 창에서 새 페이지를 엽니 다.
  2. 과 함께 HyperLink 컨트롤을 사용하고 "CommandArguments"를 링크의 쿼리 문자열 요소로 설정하면 새 탭에서 열리는 catching 페이지에서이를 처리 할 수 ​​있습니다.

또한 자바 스크립트 속성의 컬렉션을 사용하여 온 클릭을 발광 할 수 있습니다 : 당신은 HyperLink을 의미

// Create a hyperlink 
HyperLink link = new HyperLink(); 
link.NavigateUrl = "/somepage.aspx?arg=First"; 
link.Target = "_blank"; // Open in a new window 

// Add a client side onClick event calling someMethod function with a reference 
// to the link, and making sure the link processing stops. 
link.Attributes.Add("onClick", "someMethod(this);return false"); 
1

를?

물론 언제나 a tag in HTML을 사용할 수 있습니다.

편집 : 링크 위로 마우스를 가져 가면 브라우저에 대상이 표시됩니다. LinkButton 위로 마우스를 올리면 브라우저에 함수 서버 측을 실행할 javascript 호출이 표시됩니다. 당신이 할 수있는 최선의 방법은 도구 설명에 대상 페이지를 표시하는 것입니다. 왜냐하면 브라우저에 표시하는 것이 어려울 것이라고 생각하기 때문입니다.

+0

처음에 있어야했던 설명이 추가되었습니다. OnClick 메서드가있는 CommandArguments를 보낼 수있는 기능이 필요합니다. – markislu

1

LinkButton을 사용하는 경우 코드에서 명령 인수와 onclick 메서드를 설정할 수 있습니다. 이렇게하면 더 이상 링크를 새 창에서 열 수 없습니다.

새 창에서 LinkButton을 열 수없는 이유 중 하나는 동일한 페이지에 대한 다시 게시를 수행하기 때문입니다.

HyperLink 컨트롤을 사용하고 쿼리 문자열 매개 변수로 명령 인수를 전달하거나 LinkButton 컨트롤을 사용하고 새 탭 기능에서 열기를 느슨하게해야한다고 생각합니다.

인수를 쿼리 문자열 매개 변수로 전달하면 페이지로드시 해당 매개 변수를 확인하고 LinkButton에 사용할 onclick 함수를 호출 할 수 있습니다.

희망이 있으며 도움이됩니다.