我有三个文本框:Textbox1,Textbox2,Textbox3
我必须检查三者中的任何值是否相同。
例如:我在一个文本框中有1个值。我在其他两个文本框中不能有1个。
我正在使用文本框输入ID。如果我输入重复的id(例如我在Textbox1和Textbox2 / Textbox3中输入1),程序应该给我一条消息。
答案 0 :(得分:2)
您可以将CustomValidator与ClientValidation-Function一起使用。
这样的事情:
<script type="text/javascript" >
function ClientValidate(sender, args){
var Textbox1=document.getElementById('<%=Textbox1.ClientID%>');
var Textbox2=document.getElementById('<%=Textbox2.ClientID%>');
var Textbox3=document.getElementById('<%=Textbox3.ClientID%>');
if(Textbox1!=null && Textbox2!=null && Textbox3!= null){
args.IsValid = !(Textbox1.value==Textbox2.value || Textbox1.value==Textbox3.value || Textbox2.value==Textbox3.value);
}
return;
}
</script>
答案 1 :(得分:2)
如果您没有使用LINQ,那么在服务器上执行此操作的方法可能是:
string tb1 = Textbox1.Text.Trim();
string tb2 = Textbox2.Text.Trim();
string tb3 = Textbox3.Text.Trim();
if( tb1 == tb2 || tb1 == tb3 || tb2 == tb3)
{
// Do something
}
如果您需要在客户端上执行此操作,则可以使用3个CompareValidators执行类似操作。
答案 2 :(得分:1)
您需要CustomValidator。了解它。
答案 3 :(得分:0)
var uniqueTextcount = (new [] { tb1, tb2, tb3 }).Select(tb => tb.Text).Distinct().Count()
if (uniqueTextCount != 3)
// ARGH!