2011-08-30 6 views
-1

에서 작동하지하는 LinkButton 나는 ASP를 가지고 :하는 LinkButton을 다음과 같이 예상대로ASP는 : 생산

<asp:LinkButton ID="lb_new" runat="server" ForeColor="White">New Item</asp:LinkButton> 

Protected Sub lb_new_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles lb_new.Click 
    ViewState("ItemID") = "0" 
    Dim myURL As String 
    myURL = String.Format("D002.aspx?e={0}&i={1}", ViewState("EventID"), ViewState("ItemID")) 
    Response.Redirect(myURL) 
End Sub 

최근까지는,이 작용하고있다. 그러나 무엇인가의 이유로, 그것은 생산에서 일하는 것을 멈췄다. 내가 말할 수있는 한, 그것은 코드 숨김에 연결되어 있지 않다. (단순히 페이지의 텍스트 상자 중 하나에서 텍스트를 변경하기 위해 수정을 시도했다. 비주얼 스튜디오를 통해 웹 사이트를 운영하는 경우에도 작동합니다. 그러나 우리 프로덕션 서버에 게시하자마자 더 이상 작동하지 않습니다.

나는 그다지 당황 스럽다.

경험이있는 사람은 공유하십시오. 지금 2 시간 동안 이것에 있었고, 아이디어가 없다.

감사합니다.

UPDATE는

  1. 이벤트 핸들러는 사람의 부부 누락 된 것으로 제안되었다. 이것은 실제로 코드 힌트에서 'Handles'절 (...Handles lb_new.Click)에 의해 처리됩니다.
  2. 프로덕션 폴더의 항목을 수동으로 삭제 한 다음 다시 게시합니다. 기쁨이 없습니다.
  3. 프로덕션 폴더의 파일이 새로운 것인지 확인했습니다.
  4. 새로운 링크 버튼을 만들었습니다. 코드 숨김에도 연결할 수 없습니다.
  5. 마크 업에 Onclick =을 추가했습니다. 이것은 코드 숨김의 Handles 절을 고려하면 필요하지 않습니다. 그럼에도 불구하고 클릭이 여전히 실패합니다.

... 여전히

UPDATE2

페이지에서 필수 필드 유효성 검사기를 제거에서 멀리 연결하고 작동합니다. 이것은 포스트 백을 발생시키는 다른 컨트롤을 가지고 있었기 때문에 나에게 의미가 없으며, 그들은 여전히 ​​전체 시간을 일했습니다. 또한 필자는 검증 된 필드를 채워 넣었으므로 유효성 검사기가 다시 게시를 방지했을 이유는 없습니다 (생각할 수 있습니다).

이제 필자는 필수 필드 유효성 검사기없이 페이지에서 유효성 검사를 수행하는 방법을 알아 내야합니다. 혼동

... ... :-)

+0

페이지에서 뭔가를 수행해야하는 다른 컨트롤이 있습니까? –

+0

프로덕션의 모든 프로젝트 및 파일을 삭제하고 다시 게시하십시오. –

+0

또한 프로덕션 서버의 파일이 실제로 새롭고 변경된 파일인지 또는 여전히 오래된 파일인지 확인하십시오. –

답변

0

유효성 검사 컨트롤이 포스트 백을 방지하고있었습니다. 적어도 이러한 컨트롤을 제거하면 문제가 해결 된 것 같습니다. 포스트 백을 발생시키는 다른 컨트롤이 있었기 때문에이 컨트롤이 나에게 이해가되지 않습니다. 시각. 또한 필자는 검증 된 필드를 채워 넣었으므로 유효성 검사기가 다시 게시를 방지했을 이유는 없습니다 (생각할 수 있습니다). 어쨌든, 모든 아이디어에 감사드립니다.

0

난 당신이 "클릭"이벤트를 정의 할 필요가 있다고 생각합니다.

VB.NET 들어
<asp:LinkButton ID="lb_new" runat="server" ForeColor="White" OnClick="lb_new_Click">New Item</asp:LinkButton> 

(편집) (MSDN 가입일 예 : http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.onclick(v=VS.90).aspx)

<%@ Page Language="VB" AutoEventWireup="True" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head> 
    <title>LinkButton Example</title> 
<script language="VB" runat="server"> 

     Sub LinkButton_Click(sender As Object, e As EventArgs) 
     Label1.Text = "You clicked the link button" 
     End Sub 

    </script> 

</head> 
<body> 

    <form id="form1" runat="server"> 

     <h3>LinkButton Example</h3> 

     <asp:LinkButton id="LinkButton1" 
      Text="Click Me" 
      Font-Names="Verdana" 
      Font-Size="14pt" 
      OnClick="LinkButton_Click" 
      runat="server"/> 

     <br /> 

     <asp:Label id="Label1" runat="server" /> 

    </form> 

</body> 
</html> 
+0

VB.NET이 아닌 C#. :) –

+0

그래서 내 지식에 따라 VB.NET 및 C# 둘 다에서 LinkButton에 "Click"이벤트를 제공 할 수 있습니다. – KhanZeeshan

+1

@rick schott - ASP.Net은 VB.Net 및 C# 둘 다 똑같은 방식으로 사용하는 마크 업입니다. – TheGeekYouNeed

1

는 포스트에 __EVENTTARGET 및 __EVENTARGUMENT 변수를 체크; 이 값은 다시 게시를 트리거 한 버튼의 값과 일치해야합니다. 적어도 첫 번째 단서는 ...

일부 타사 DLL을 업그레이드했거나 .NET 3.5에서 .NET 4.0 또는 그와 비슷한 것을 업그레이드 했습니까?

HTH.

1

나는이 동일한 문제를 가지고 있었고이 스레드는 나를 (적어도 나를 위해!) 대답했다. linkbutton의 CausesValidation 속성을 false로 설정하면 click 이벤트가 페이지의 유효성 검사기 상태를 무시하고 실행됩니다. 어떤 유효성 검사가 필요한 클릭 이벤트 나 포스트 백에서 아무 것도하지 않기 때문에 무시해도 좋습니다. 당신에게도 마찬가지라면, 이것이 당신의 해결책 일 것입니다.