把变量放回来确认()

时间:2015-09-07 08:03:41

标签: javascript c# asp.net

我有一个按钮

<asp:Button ID="btnPresent" runat="server" OnClientClick="return confirm('N student Absent?');"  />

我想用一个服务器端变量(lstAbsent.Count)替换这个“N”

我试过了

<asp:Button ID="btnPresent" runat="server" OnClientClick="return confirm("+lstAbsent.Count+" student Absent?');"  />

<asp:Button ID="btnPresent" runat="server" OnClientClick="return confirm(''"+lstAbsent.Count+"' student Absent?');"  />

但它不起作用.....我缺少什么?

2 个答案:

答案 0 :(得分:1)

你可以像这样定义一个JS函数: -

 function confirmStudentsMsg()
 {
     var studentsAbsent = '<%= lstAbsent.Count %>';
     return confirm(studentsAbsent + ' student(s) absent?');
 }

然后,只需点击按钮即可拨打: -

<asp:Button ID="btnPresent" runat="server" OnClientClick="return confirmStudentsMsg();" />

答案 1 :(得分:1)

您需要在代码隐藏中设置OnClientClick

 btnPresent.OnClientClick = 
   string.Format("return confirm('{0} student Absent?');", lstAbsent.Count);

不幸的是,无法在服务器端控件的属性上使用内联代码块<%= %>。 (此规则有一个例外,那就是可以<%# %>和{{1}等内容中的控件属性使用数据绑定内联代码块<asp:Repeater> })