2010-04-16 3 views
1

내 asp.net 응용 프로그램에서 yui datatable 사용 ... 내 열 중 하나에서 링크 단추가 있고 잘 작동하지만 숨겨진 된 포스트 백을 수행하지 않습니다. 버튼 ... javascript __doPostBack이 나를 위해 작동하지 않는 것 같습니다

myDataTable.subscribe("linkClickEvent", function(oArgs) { 
      javascript: __doPostBack('ctl00_ContentPlaceHolder1_Button1', ''); 
      YAHOO.util.Event.stopEvent(oArgs.event); 
     }); 

내 페이지에서

내가 브레이크 포인트를 사용하지만이 __dopostback .. 어떤 제안 얻을하지 않는 것
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" 
    style="display:none;" /> 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    DownloadFile(Hfhref.Value, true); 
} 

... 마크 업에서

+0

@Panidiya 왜 프론트 자바 스크립트에 입력 :? – Aristos

+0

@Aristos 너무 그 didnt 일을 풀어 놓는. .. –

답변

2

난 그냥 이런 짓을하고 그냥 일 click() 내 버튼 ... 나는 그것이 모든 브라우저에서 작동하는지 알고 싶어

... 전화

document.getElementById("ctl00_ContentPlaceHolder1_Button1").click(); 

근무

+0

충분히, 이것은 나뿐만 아니라 잘 작동했다. 정적으로 설정된 ClientIDMode가있는 ASP.NET LinkButton에 대해 __doPostBack을 사용할 수 없기 때문에 "이상하게"말합니다. – Jagd

0

, 제대로 ca를 확인하십시오 OnClick 핸들러.

onclick="Button1_Click" 

OnClick="Button1_Click" 

당신이 그것을 쓴 방법, onclick을 컨트롤의 속성으로 해석되고 onclick="Button1_Click" 대신 서버 측에서 처리되고의 브라우저에 렌더링됩니다해야 .

+0

저를 위해 작동하지 않는 @ 종이 ... 그러나 나의 응답을 봐 그것 일했다 ... –

3

Button에서 __doPostBackMethod에 고유 ID를 추가하십시오.

+0

어떻게 보지 못했습니까? __doPostBack의 첫 번째 매개 변수는 ClientId가 아닌 Control의 UniqueId 여야합니다. 좋은 캐치. –

1

ASP.Net 4.0 프레임 워크를 사용하는 경우 ClientIDMode="Static"을 컨트롤 선언에 추가하면 __doPostBack('Button1','');을 직접 호출 할 수 있습니다.

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" 
    style="display:none;" ClientIDMode="Static" /> 

ClientIDMode 속성은 4.0 이상이며 컨트롤에 대해 고유 한 고유 ID를 가질 수있는 옵션을 제공합니다. 컨트롤의 포스트 백을 호출하면 컨트롤의 OnClick 특성에 정의 된 모든 포스트 백 메서드가 실행됩니다.

관련 문제