<%@ Page Language="C#" Debug="true" %>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>自定义通用验证控件</title>
<script language="javascript">
function Tx_Ct(source,arguments)
{
alert(source.innerText+"--"+arguments.value+"--"+document.getElementById("txt_1").value);
//这里为什么arguments.value直接获取不到值<这个属性为什么没用呢> // arguments.IsValid=true; 设置值是否显示错误信息<这个属性有用>
}
</script>
<script language="C#" runat="Server">
void ServerValidate(object source, ServerValidateEventArgs args)
{
label1.Text = args.Value;//获取关联控件的值
label2.Text = txt_1.Text;//这个也可以获取控件的值
//这里是比较txt_1的值然后根据条件返回一个IsValid=false或true即可
args.IsValid = true;//设置为false就显示出错信息,设置为true就不显示
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txt_1" runat="server"></asp:TextBox>
<asp:TextBox ID="txt_2" runat="server"></asp:TextBox>
<asp:Button ID="bu_t" runat="server" Text="提交" />
<asp:CustomValidator ID="Cust_1" runat="Server"
ControlToValidate="txt_1"
ClientValidationFunction="Tx_Ct"
OnServerValidate="ServerValidate"
Text="出错"></asp:CustomValidator>
</form>
</body>
</html>这里客户端的arguments.value为什么取不到值,不过服务器段的arguments.value可以。
难道客户端只能用document.getElementById("txt_1").value来获取值吗
但他的isvalid属性又有用。但为什么arguments.value没用呢。
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>自定义通用验证控件</title>
<script language="javascript">
function Tx_Ct(source,arguments)
{
alert(source.innerText+"--"+arguments.value+"--"+document.getElementById("txt_1").value);
//这里为什么arguments.value直接获取不到值<这个属性为什么没用呢> // arguments.IsValid=true; 设置值是否显示错误信息<这个属性有用>
}
</script>
<script language="C#" runat="Server">
void ServerValidate(object source, ServerValidateEventArgs args)
{
label1.Text = args.Value;//获取关联控件的值
label2.Text = txt_1.Text;//这个也可以获取控件的值
//这里是比较txt_1的值然后根据条件返回一个IsValid=false或true即可
args.IsValid = true;//设置为false就显示出错信息,设置为true就不显示
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="txt_1" runat="server"></asp:TextBox>
<asp:TextBox ID="txt_2" runat="server"></asp:TextBox>
<asp:Button ID="bu_t" runat="server" Text="提交" />
<asp:CustomValidator ID="Cust_1" runat="Server"
ControlToValidate="txt_1"
ClientValidationFunction="Tx_Ct"
OnServerValidate="ServerValidate"
Text="出错"></asp:CustomValidator>
</form>
</body>
</html>这里客户端的arguments.value为什么取不到值,不过服务器段的arguments.value可以。
难道客户端只能用document.getElementById("txt_1").value来获取值吗
但他的isvalid属性又有用。但为什么arguments.value没用呢。
试试,
是服务器回发事件的跟客户端有没关系。不过好歹试试,不过还是没用。怎么调试的程序和理论有差距啊。