我有一个按钮
<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?');" />
但它不起作用.....我缺少什么?
答案 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>
})