2012-12-04 27 views
1

我有2个按钮,在一个popup.when每个按钮单击,弹出执行回调。 我的问题是当弹出回调我想知道哪个按钮单击并导致回调 我写了这段代码,但它不起作用,因为在BeginCallback属性S.name是弹出的名称也e.buttonID为空因为Html .DevExpress()。Button不用按钮类型渲染输入,它渲染td和div标签 请帮助我。得到单击的元素id与JavaScript不jquery

@Html.DevExpress().PopupControl(
     settings => 
     { 
      settings.Name = "GetDatepopUp"; 
      settings.PopupElementID = "GetDate"; 
      settings.PopupAction = PopupAction.LeftMouseClick; 
      settings.CloseAction = CloseAction.CloseButton; 

      settings.Modal = true; 
      settings.ShowOnPageLoad = false; 
      settings.LoadContentViaCallback = LoadContentViaCallback.OnPageLoad; 
      settings.SetContent(() => 
       { 
      @Html.RenderPartial("CalenderContainerPartialView", "Message"); 
       }); 
settings.CallbackRouteValues = 
      new { Controller = "Message", Action = "Calender" }; 
settings.ClientSideEvents.BeginCallback = 
      "function(s,e) { e.customArgs['btnName'] = s.name; }"; 

settings.SetFooterTemplateContent(c => 
     { 
      ViewContext.Writer.Write("<Table style='width:100%'><tr><td>"); 
      Html.DevExpress().Button(buttonsettings => 
        { 
        buttonsettings.Name = "btnNext"; 
        buttonsettings.Text = "<<"; 
        buttonsettings.ClientSideEvents.Click = 
         "function(s, e) { GetDatepopUp.PerformCallback(); }"; 
        }).Render(); 
      ViewContext.Writer.Write("</td><td>"); 
      Html.DevExpress().Button(buttonsettings => 
        { 
        buttonsettings.Name = "btnPrevious"; 
        buttonsettings.Text = ">>"; 
        buttonsettings.ClientSideEvents.Click = 
          "function(s, e) { GetDatepopUp.PerformCallback(); }"; 
        }).Render(); 
      ViewContext.Writer.Write("</td></tr></table>"); 
      }); 

    }).GetHtml() 
+0

这是JavaScript的? :( – Gnijuohz

回答

0

尝试改变:

GetDatepopUp.PerformCallback(); 

这样:

GetDatepopUp.PerformCallback('btnPrevious');