0
我無法管理更新usercontrol中的radgrid。我的ajaxmanager是在mainform中。更新在用戶控件中的radgrid
我的usercontol是TaniUC 我設法從usercontol激發ajaxrequest事件。但我無法更新radgrid。我使用TaniEkle(ID),它是我的usercontol中的一個公共func,向我的radgrid添加一行。 它在屏幕上添加但不更新。
Form.aspx
<telerik:RadAjaxManager ID="RadAjaxManager1" OnAjaxRequest="RadAjaxManager1_AjaxRequest"
runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="grdHastalar" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
<telerik:AjaxSetting AjaxControlID="grdHastalar" EventName="OnRowClick" >
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="TaniUC" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</AjaxSettings>
Form.aspx.cs
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;
}
}
個TaniUc.ascx.cs(用戶控件)
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;
}
}