我喜欢根据标签的可见性在标签上添加验证,因为如果标签不可见,提交按钮将引发验证消息或错误。
我习惯了工具箱中的验证控件,它不允许这个功能!
我喜欢根据标签的可见性在标签上添加验证,因为如果标签不可见,提交按钮将引发验证消息或错误。
我习惯了工具箱中的验证控件,它不允许这个功能!
似乎 asp:Label 的可见性设置为 false,asp.net 引擎甚至不会将其放入 DOM。所以你可以签入 javascript,使用onclick
(html) 按钮的属性来检查标签是否在 DOM 中,并使用 asp.net 的__doPostBack()
javascript 函数将其回传到服务器(如果存在):
<script type="text/javascript">
function testMe()
{
var lbl = document.getElementById('lblTest');
if(lbl == null)
document.getElementById('msg').innerHTML = "Error";
else
__doPostBack('testButton');
}
</script>
<asp:Label ID="lblTest" runat="server" Visible="false" Text="Hello"></asp:Label>
<button onclick="testMe();">test</button>
老实说,我认为如果标签不存在于 DOM 中会是这样,但 Firebug 透露它实际上lbl
是. 无论如何,需要注意的一点是,为了让 asp.net 定义该方法,我相信您需要在表单中进行一些控制,并且在代码隐藏中您可以检查导致回发的原因,如下所示:undefined
null
__doPostBack()
autopostback="true"
Page_Load
if(Request.Form["__EVENTTARGET"] == "testButton") {}