【问题标题】:updating a radgrid which is in a usercontrol更新用户控件中的 radgrid
【发布时间】:2012-07-21 07:45:25
【问题描述】:

我无法更新用户控件中的 radgrid。我的 ajaxmanager 在主窗体中。

我的用户控制是 TaniUC 我设法从 usercontol 触发 ajaxrequest 事件。但我无法更新 radgrid。我使用 TaniEkle(ID),它是我的 usercontol 中的一个公共函数,在我的 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;
        }
    }

【问题讨论】:

    标签: asp.net-ajax telerik radgrid webusercontrol


    【解决方案1】:

    我找到了答案。我写的usercontrol的Id是错误的。将它添加到 updatecontrol 可以解决我的问题。

    <telerik:AjaxUpdatedControl ControlID="ucpTani"  LoadingPanelID="RadAjaxLoadingPanel1" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多