前一段时间,被ASP控件验证,整的云里雾里的用最为原始最简单的方法,总结一下。这里总结的都是ASP控件,并有涉及到HTMl控件。
第一:想到的应该是ASP验证控件对其进行验证。
<tr>
<td width="12%">开 户 行:</td>
<td width="84%">
<asp:TextBox ID="txtkhx" runat="server" MaxLength="30" Width="23%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtzhmc" ErrorMessage="开户行必须填写"></asp:RequiredFieldValidator>
</td>
</tr>
这样做是最为简单的,但是我这里却出现了一个问题,就是点击保存按钮的时候,他却没有进行验证,在网上查找了一下方法,但是仍然不可以用,这下我就焦急了,但是这种方法我估计在VS2012中都可以实现。一下就是第二种方法。
第二:写在JS中进行验证
js:
function remind()
{
if(document.getElementById("<%=txtkhx.ClientID%>").value=="")
{
innerRemindStr("txtkhxdiv","开户行不能为空",true);
change_pro(0);
return false;
}
else
{
innerRemindStr("txtkhxdiv","",false);
}
document.getElementById("<%=btnAdd.ClientID%>").click()
}
HTMl:
<tr>
<td width="12%">开 户 行:</td>
<td width="84%">
<asp:TextBox ID="txtkhx" runat="server" MaxLength="30" Width="23%"></asp:TextBox>
<div id="txtkhxdiv"></div>
</td>
</tr>
提交:
<div align="center">
<input id="Buttonss" type="button" value="<%=commandName %>" οnclick="javascript:remind();" />
</div>
<div align="center" style="display:none;">
<asp:Button ID="btnAdd" runat="server" Text="提 交" OnClick="btnAdd_Click" ></asp:Button>
</div>
这个特点就是,他写了一个JS方法,当然是用HTMl控件来调用,所以就加上一个input控件呈现在页面,当点击的时候,就先触发验证,JS代码最后一句是调用ASp控件的点击事件,这样两全其美。
第三:后台验证因为提交时候触发button事件,所以直接把验证写在后台进行验证。
HTML:
<tr>
<td width="12%">开 户 行:</td>
<td width="84%">
<asp:TextBox ID="txtkhx" runat="server" MaxLength="30" Width="23%"></asp:TextBox>
</td>
</tr>
后台:
protected void Button1_Click(object sender, EventArgs e)
{
//验证开户行是否为空
if (string .IsNullOrEmpty (txtkhx.Text))
{
Page.ClientScript.RegisterStartupScript(GetType(), "message", "<script language='javascript'>alert('系统提示:\\n开行账户必须填写!');document.all('txtkhx').focus()</script>");
return;
}
}
这种方法是最初在VB中的而一种验证方法,简单实用。
但是问题又来了,我在商品发布的时候实用了此方法,但是因为弹出了一个提示,一点击确认就会刷新页面,整个发布商品的页面就会打乱。。。这个问题,在后边会提到。
问题不断的出现,各种奇葩的问题,这时候意识到什么是“学无止境”,不分场所,不分年龄,不分时间。。。