2011-08-30 28 views
-1

不能正常工作我有一個asp:LinkBut​​ton的如下:ASP:LinkBut​​ton的生產

<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 

直到最近,它一直充當它應該。但由於某種原因,它已停止生產。據我所知,它沒有連接到它的代碼隱藏(我試圖修改它只是改變頁面上的一個文本框中的文本,但它也失敗了)。如果我通過visual studio運行網站,仍然有效。但是,只要我們發佈到我們的生產服務器,它就不再有效。

我很難過 - 仍然擺弄它。

如果有人遇到過這種情況,請分享。現在已經過了幾個小時了,並且沒有想法。

謝謝!

UPDATE

  1. 事件處理程序被認爲是由一對夫婦的人失蹤。這實際上是在'Handles'子句的代碼隱藏中處理的(...Handles lb_new.Click)。
  2. 手動刪除生產文件夾中的項目,然後重新發布。沒有快樂。
  3. 驗證生產文件夾中的文件是新的文件。
  4. 我創建了一個全新的linkbutton - 它無法連接到它的代碼隱藏以及
  5. 我添加了一個Onclick =標記。考慮到代碼隱藏的Handles子句,這不應該是必需的。無論如何,點擊仍然失敗。

...仍刻苦攻讀它

UPDATE2

刪除了頁面上的必填字段校驗,和它的作品。這對我來說沒有意義,因爲我在頁面上有其他控件導致回發,並且他們仍然一直工作。另外,我有被驗證的字段被填充,所以沒有理由(我能想到)驗證器會阻止回發。

現在我只需要弄清楚如何在沒有必需的字段驗證器的情況下在頁面上進行驗證。

... ...弄得:-)

+0

是否有應做一些頁面上的任何其他控件? –

+0

嘗試刪除所有的生產以及項目和文件重新發布它 –

+0

此外,檢查,看看您的生產服務器上的文件實際上是新的,修改過的文件,或者如果他們仍然是舊文件。 –

回答

0

驗證控件阻止回發 - 或者至少,刪除這些控件似乎已經解決了這個問題這對我來說沒有意義,因爲我在頁面上有其他控件導致回發,並且它們仍然工作在整個時間。另外,我有被驗證的字段被填充,所以沒有理由(我能想到)驗證器會阻止回發。無論如何,感謝大家的所有想法。

0

我想你需要定義自己的 「點擊」 事件。

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

(編者) 對於VB.NET:(實施例從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#事件的LinkBut​​ton兩者。 – KhanZeeshan

+1

@rick肖特 - ASP.Net是標記,是VB.Net和C#都以完全相同的方式使用。 – TheGeekYouNeed

1

檢查後的__EVENTTARGET和__EVENTARGUMENT變量;這些應該匹配觸發回發的按鈕的值。這至少是第一個線索......

你升級某些第三方DLL或升級從.NET 3.5到.NET 4.0或類似的東西塔嗎?

HTH。

1

我有這個同樣的問題,這個線程指着我的答案(至少對我來說!)。只需將linkbutton的CausesValidation屬性設置爲false,點擊事件就會觸發,忽略頁面上任何驗證器的狀態。我在click事件或回發中沒有做任何事情,需要進行任何驗證,所以我可以忽略它。如果你也一樣,這很可能是你的解決方案。

相關問題