我无法在这里猜测问题,因为grid item命令的事件没有执行。我也改变了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) { }
}
}
我尝试了很多方法但无法为网格中的按钮触发事件 我通过设置一个断点来检查它,麻烦的是它甚至没有开始执行事件 绑定COde
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();
答案 0 :(得分:1)
您需要设置CommandName:
<asp:Button ID="bt" runat="server"
CommandName="frd_go"
CommandArgument='<%#Eval("frd_ID") %>' Text="test" />
答案 1 :(得分:1)
今天我遇到了类似的问题。 在我的radgrid中,我有代码来构建sql并在page_load事件中填充radgrid,但我忘了添加
if(!IsPostBack){}
围绕这段代码,所以每次加载网格时都会重建网格,并且onitemcommand方法无效。该页面似乎是在按钮点击或rowclick上回发,但该事件并未触发。尝试在数据绑定周围添加if(!isPostback)代码,您可能会发现它适合您。
答案 2 :(得分:0)
您需要为EnablePostBackOnRowClick
将true
属性设置为ClientSettings
。但是这会导致完整的回复。
.
.
.
</MasterTableView>
<ClientSettings EnablePostBackOnRowClick="true">
</ClientSettings>
</telerik:RadGrid>
您可以查看此thread on Telerik forums