asp中隐藏控件起到了一个标志位的作用,是前台和后台交互的一个信号灯。我们常常可以利用隐藏控件判断前台一些控件的状态,然后对逻辑判断起到很重要的作用。具体使用方法见下面代码演示。
前台布局:
<div>
<asp:HiddenField ID="HidError" runat="server" />
<asp:HiddenField ID="hidisno" runat="server" />
<input type="file" runat="server" id="txtFile" class="nTxt" style="width: 180px" />
<asp:Button ID="btnIMP" runat="server" CssClass="nButton" AccessKey="O" Text="导入(O)"
OnClientClick="Check();isno();" OnClick="btnIMP_Click" />
</div>
前台js脚本函数实现一些功能,最后给隐藏控件赋值,作为一种信号指示可以被后台使用:
<script type="text/javascript" language="javascript">
function isno()
{
if(confirm("确认数据已效验及生成编码?"))
{
document.getElementById('<%=hidisno.ClientID%>').value="true";
}
else
{
document.getElementById('<%=hidisno.ClientID%>').value="false";
return false;
}
}
function Check()
{
if(document.getElementById('<%= txtFile.ClientID %>').value == '')
{
alert('请选择Excel文件!');
document.getElementById('<%= txtFile.ClientID %>').focus();
event.returnValue = false;
return;
}
}
</script>
后台交互:
protected void btnIMP_Click(object sender, EventArgs e)
{
try
{
if (this.hidisno.Value == "true")
{}
}
}
总结:编程中往往蕴含着大智慧,但是一些小聪明也是必不可少的。隐藏控件本身代表着一种灵活的思想。