2013-10-21 17 views
1

我試圖抓住加入到一個asp的爭論背後:在代碼後面的按鈕,但得到的錯誤:ASP.NET添加命令參數裏的按鈕在代碼

無法轉換類型「System.EventArgs」的對象鍵入「System.Web.UI.WebControls.CommandEventArgs」

此按鈕是一個正常的形式,而不是一個gridview等的一部分。這

什麼可能我是做錯了什麼?問候。

<form><asp:Button ID="btnPrint" runat="server" Text="Print" CommandArgument="" /></form> 

Imports System.Web 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 

    Dim String AS String = "MyValue" 
    btnPrint.CommandArgument = String 

End Sub  

Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As CommandEventArgs) Handles btnPrint.Click 


    Dim ID as String = e.CommandArgument.toString 

    'Have also tried 
     'Dim btn As Button = sender 
     'Dim ID As String = btn.CommandArgument 

     Response.Redirect("Print.aspx?tid=" & ID) 

End Sub 

回答

2

你只需要更新btnPrint_Click處理Command事件,而不是 「點擊」:

Protected Sub btnPrint_Click(ByVal sender As Object, ByVal e As CommandEventArgs) Handles btnPrint.Command 
+0

OH!我的錯。非常感謝! – user1457613

0

我的ASP按鈕單擊事件是這樣的:

Private Sub SearchASPxButton_Click(sender As Object, e As EventArgs) Handles SearchASPxButton.Click 

通知第二參數的類型是System.EventArgs。你是否改變了自動生成的點擊事件的類型?或者你是自己手動創建的?

+0

我將默認的system.EventArgs更改爲CommandEvent參數。 – user1457613

+0

這是'Handles SearchASPXButton.Click'是否正確?我得到錯誤'需要WithEvents變量' – user1457613

+0

這就是我的控制名稱,不是你的。看起來你想要Command事件,而不是點擊事件。 – Steve