ユーザーコントロールにある radgrid を更新できません。私のajaxmanagerはメインフォームにあります。
私のusercontolはTaniUCです usercontolからajaxrequestイベントを発生させることができました。しかし、radgrid を更新できません。usercontol の public func である TaniEkle(ID) を使用し、radgrid に行を追加します。画面上で追加していますが、更新していません。
フォーム.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>
フォーム.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;
}
}