首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView值传递

GridView值传递
EN

Stack Overflow用户
提问于 2014-03-31 17:22:46
回答 1查看 2.2K关注 0票数 1

我添加了一个模板字段,并使它成为一个按钮单击事件。然后,我尝试将该值发送到event,并希望使用该值进行一些操作。我写了以下代码。它没有编译错误,但是当我单击Present浏览器时显示以下消息:

无效的回发或回调参数。事件验证是在配置中启用的,或者在页面中使用<%@ page EnableEventValidation="true“%>。出于安全考虑,此功能验证回发或回调事件的参数是否来自最初呈现它们的服务器控件。如果数据是有效和预期的,则使用ClientScriptManager.RegisterForEventValidation方法来注册回发或回调数据以进行验证.

代码:

代码语言:javascript
复制
 <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>

事件方法:

代码语言:javascript
复制
protected void Button1_Click(object sender, EventArgs e)
    {
        LinkButton lnk = (LinkButton)sender;
        string id = lnk.CommandArgument.ToString();
        Label1.Text = id;
    }

请帮帮我。我是初学者。详细的回答是非常感谢的。耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-31 17:26:56

设置

代码隐藏中的页面指令中的EnableEventValidation="false"

前任:

代码语言:javascript
复制
<%@ Page Language="C#" EnableEventValidation="false" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>

编辑:.aspx:

代码语言:javascript
复制
  <asp:Button ID="Button1" runat="server" 
 OnClick = "Button1_Click" CommandArgument='<%#Eval("Id") %>'  Text="Present" />

cs代码:

代码语言:javascript
复制
  protected void Button1_Click(object sender, EventArgs e)
    {
        Button btn = (Button)sender;

        string id = btn.CommandArgument.ToString();


    }

使用ButtonFieldOnRowCommand事件

代码语言:javascript
复制
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns = "false" 

    OnRowCommand = "OnRowCommand">

 <Columns>

  <asp:ButtonField CommandName = "ButtonField"  DataTextField = "CustomerID"

        ButtonType = "Button"/>

 </Columns>

</asp:GridView>

代码背后:

代码语言:javascript
复制
protected void OnRowCommand(object sender, GridViewCommandEventArgs e)

{

    int index = Convert.ToInt32(e.CommandArgument);

    GridViewRow gvRow = GridView1.Rows[index]; 

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22768132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档