Asp.net ajax 更新用户控件中的radgrid
我无法更新用户控件中的radgrid。我的ajaxmanager在主窗体中 我的用户控制是TaniUC 我设法从UserControl触发ajaxrequest事件。但我无法更新radgrid。我使用了TaniEkle(ID),它是我的UserControl中的一个公共函数,在我的radgrid中添加一行。 它正在添加但不在屏幕上更新 Form.aspx } TaniUc.ascx.cs(用户控制)Asp.net ajax 更新用户控件中的radgrid,asp.net-ajax,telerik,radgrid,webusercontrol,Asp.net Ajax,Telerik,Radgrid,Webusercontrol,我无法更新用户控件中的radgrid。我的ajaxmanager在主窗体中 我的用户控制是TaniUC 我设法从UserControl触发ajaxrequest事件。但我无法更新radgrid。我使用了TaniEkle(ID),它是我的UserControl中的一个公共函数,在我的radgrid中添加一行。 它正在添加但不在屏幕上更新 Form.aspx } TaniUc.ascx.cs(用户控制) private List seciliTanilarList { 得到 { 返回(列表)视图状态
private List seciliTanilarList
{
得到
{
返回(列表)视图状态[“seciliTanilarList”];
}
设置
{
ViewState[“seciliTanilarList”]=值;
}
}
公共无效TaniEkle(内部id)
{
var lst=seciliTanilarList.Where(k=>k.ICD10_ID==ID.ToList();
如果(lst.Count()>0)
{
返回;
}
其他的
{
哈佛商学院实体=新哈佛商学院实体();
entity.TUR_ID=1;
entity.STATUS=true;
bllTakipTani.Add(实体);
seciliTanilarList.Add(实体);
grdSeciliTanilar.DataSource=seciliTanilarList;
}
}
我找到了答案。我写的usercontrol的Id是错误的。将其添加到updatecontrol解决我的问题
<telerik:AjaxUpdatedControl ControlID="ucpTani" LoadingPanelID="RadAjaxLoadingPanel1" />
protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
{
if(e.Argument=="taniekle")
{
int ID = DataReader.GetInt32(Request.Form["grdTanilarDClickedRowIndex"]);
if (ID > 0)
{
ucpTani.TaniEkle(ID);
}
return;
}
private List<HBS_TANI> seciliTanilarList
{
get
{
return (List<HBS_TANI>)ViewState["seciliTanilarList"];
}
set
{
ViewState["seciliTanilarList"] = value;
}
}
public void TaniEkle(int id)
{
var lst = seciliTanilarList.Where(k => k.ICD10_ID == id).ToList();
if (lst.Count() > 0)
{
return;
}
else
{
HBS_TANI entity = new HBS_TANI();
entity.TUR_ID = 1;
entity.STATUS = true;
bllTakipTani.Add(entity);
seciliTanilarList.Add(entity);
grdSeciliTanilar.DataSource = seciliTanilarList;
}
}
<telerik:AjaxUpdatedControl ControlID="ucpTani" LoadingPanelID="RadAjaxLoadingPanel1" />