1

我无法猜测这里的问题,因为网格项命令的事件没有执行。我也更改了 pageevent 验证状态,但没有用。我正在粘贴 .aspx 代码以及网格完美绑定

<telerik:RadGrid ID="frds" runat="server" OnItemCommand="go_frd" AutoGenerateColumns="false" >
<MasterTableView>
<Columns>
<telerik:GridTemplateColumn>
<ItemTemplate>
<asp:Button ID="bt" runat="server" CommandArgument='<%#Eval("frd_ID") %>' Text="test" />
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>

活动是这样的

   protected void go_frd(object o, GridCommandEventArgs e)
{
    if (e.CommandName == "frd_go")
    {
        Response.Redirect("Profiling.aspx?uid=" + e.CommandArgument);
    }
    if (e.CommandName == "add_frd")
    {
        db_accessDataContext db = new db_accessDataContext();
        Frd_request req = new Frd_request();

        db.AddFriend(Int64.Parse(cur_mem_id), Int64.Parse(e.CommandArgument.ToString()));
        SqlConnection con = new SqlConnection(connectionString);
        SqlCommand cmd = new SqlCommand("dbo.addFriend", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add(@"memID", Int64.Parse(cur_mem_id));
        cmd.Parameters.Add(@"frdID", Int64.Parse(e.CommandArgument.ToString()));
        try
        {
            con.Open();
            cmd.ExecuteNonQuery();
        }
        catch (Exception ex) { }
    }
}

我尝试了很多方法,但无法触发网格中按钮的事件我也通过放置断点来检查它,问题是它甚至没有开始执行事件绑定代码

    string query = "my query containing the frd_id ,works fine in query builder and it also is shown grid view "; 
try { SqlConnection con = new SqlConnection(connectionString);
 SqlDataAdapter adapter = new SqlDataAdapter(query, con); 
adapter.Fill(d0); con.Close(); 
} catch (Exception ex) { } 
frds.DataSource = d0; 
frds.DataBind();
4

3 回答 3

1

您需要设置 CommandName:

<asp:Button ID="bt" runat="server" 
     CommandName="frd_go" 
     CommandArgument='<%#Eval("frd_ID") %>' Text="test" />
于 2012-06-19T09:49:02.307 回答
1

我今天有一个类似的问题。在我的 radgrid 中,我有代码来构建 sql 并在 page_load 事件中填充 radgrid,但我忘了添加

如果(!IsPostBack){}

围绕此代码,因此在每次加载页面时,都会重建网格并且 onitemcommand 方法不起作用。该页面似乎在按钮单击或 rowclick 上发回,但该事件并未触发。尝试在数据绑定周围添加 if (!isPostback) 代码,您可能会发现它对您有用。

于 2014-12-15T14:09:59.960 回答
0

您需要将EnablePostBackOnRowClick属性设置为truefor ClientSettings。然而,这将导致一个完整的回帖。

.
.
.
</MasterTableView>
<ClientSettings EnablePostBackOnRowClick="true"> 
</ClientSettings>
</telerik:RadGrid>

您可能想在 Telerik 论坛上查看此主题

于 2012-06-19T11:30:25.497 回答