1
我添加了一個模板字段並將其設爲按鈕單擊事件。然後我試圖將該值發送到事件方法,並希望通過該值進行一些操作。我寫了下面的代碼。它沒有編譯錯誤,但當我點擊Present
瀏覽器顯示以下消息:GridView Value Pass
無效的回發或回調參數。事件驗證在配置中啓用,或在頁面中啓用<%@ Page EnableEventValidation =「true」%>。爲了安全起見,此功能驗證回發或回調事件的參數來自最初呈現它們的服務器控件。如果數據有效且預期,請使用ClientScriptManager.RegisterForEventValidation方法爲註冊回發或回調數據進行驗證。
代碼:
<div>
<asp:Panel ID="PanelAllEmployee" runat="server" Height="400px">
<asp:GridView ID="GridViewAllEmployee" runat="server" AutoGenerateColumns="False" style="position:absolute;left:219px; top:202px;" >
<Columns>
<asp:BoundField DataField="Id" HeaderText="Id" />
<asp:BoundField DataField="Name" HeaderText="Name" />
<asp:BoundField DataField="Department" HeaderText="Department" />
<asp:BoundField DataField="EmailID" HeaderText="Email ID" />
<asp:BoundField DataField="Position" HeaderText="Position" />
<asp:TemplateField HeaderText="Present">
<ItemTemplate>
<asp:Button ID="Button1" runat="server" CommandArgument='<%#Eval("Id") %>' OnClick="Button1_Click" Text="Present" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Label ID="Label1" runat="server" Text="Label"> </asp:Label>
</asp:Panel>
</div>
事件方法:
protected void Button1_Click(object sender, EventArgs e)
{
LinkButton lnk = (LinkButton)sender;
string id = lnk.CommandArgument.ToString();
Label1.Text = id;
}
請善待幫助我。我是初學者。詳細的答案非常感謝。謝謝你的時間。
這樣做錯誤後示出了指示'的LinkButton LNK =(LinkButton的)發送者;'錯誤消息:* *無法將類型爲'System.Web.UI.WebControls.Button'的對象轉換爲'System.Web.UI.WebControls.LinkButton'。** – Leon
'LinkButton lnk =(LinkButton)sender';這是你做錯了沒有什麼像在你的.aspx代碼中的LinkButton –
對不起。我沒有'LinkButton'。你能告訴我那麼我怎麼能在'Button1_Click'事件中得到這個'CommandArgument ='<%#Eval(「Id」)%>''命令的值。再次抱歉。感謝您的回覆。 @Ganesh_Devlekar – Leon