2012-09-18 48 views
0

我想提供一个好的取消弹出'如果'gridview没有行,我认为这会像客户端脚本,但是当我点击确定时,控制跳过方法的其余部分。无论如何,我可以执行此验证或警报并将控件移至下一个语句?验证回发如果gridview为空

protected void btnRunD_Click(object sender, EventArgs e) 
{ 
     try 
     { 
      int iESStatus = 0; 
      int iRunStatus = 0; 
      ApplicationUser au = (ApplicationUser)Session["ApplicationUser"]; 
      if (UploadFileGrid.Rows.Count <= 0) 
      { 
       ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(),  "err_msg", "confirm('No new data files have been uploaded. Are you sure you want to run EYDS Processing Module?');", 
      //true); 
      } 

      if (au.RoleID != 2) //RoleID is not Admin! 
      { 
       ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "err_msg", "alert('You do not have enough privileges to use this functionality!');", 
      true); 
      } 
      else 
      {.........} 
} 

我有困难的部分是在这里:
我想提供一个确定取消弹出“如果” gridview的没有行

if (UploadFileGrid.Rows.Count <= 0) 
    { 
     ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "err_msg", "confirm('No new data files have been uploaded. Are you sure you want to run?');",  
    } 
+0

你可以使用JavaScript函数做到这一点,而无需回发然后是否有任何特定的需要在回发函数上调用JavaScript函数? – Priya

+0

显示更多代码。你确实需要在'确定'按钮点击执行? –

+0

@Piya如何检查我的gridview在javascript中是否为空? – Aravindh

回答

3

假设你的按钮是一样的东西此:

<asp:Button ID="btnDoSomething" runat="server" Text="Do Something" OnClientClick="return GetConfirmation();" OnClick="btnDoSomething_Click" /> 

然后添加如下JavaScript函数:

function GetConfirmation() { 
    var rowscount = document.getElementByID(<%=UploadFileGrid.ClientID%>).rows.length; 
    return rowscount > 0 || confirm('No new data files have been uploaded. Are you sure you want to run?'); 
} 

然后当用户按下确定按钮显示确认按钮时它将被回发。

+0

如果按钮位于更新面板内,此功能可以工作吗? – Aravindh

+0

+1在我看来'return rowscount> 0 ||确认('没有新的数据文件已经上传,你确定要运行?');'看起来更好 –

+0

@YuriyRozhovetskiy,欢呼队友,更新 – CjCoax

1

可以使用JavaScript或jQuery的做到这一点:

$("#<%=btnApprove.ClientID %>").click(function() { 
      if ($("#<%=UploadFileGrid.ClientID %> ").find("tr").length == 0) { 
       if (confirm('No new data files have been uploaded. Are you sure you want to run?')) { 
        return true; 
       } 
       else { 
        return false; 
       } 
      } 

     }); 

,当用户按下OK,你的页面会postbacked,你可以写你想在那之后执行的代码。 我希望这段代码能帮助你。

+0

如果按钮位于更新面板内,这样会工作吗? – Aravindh

+0

是的....它会工作。你可以检查你的代码。 – Priya