[英]i have got a validation problem!
我想亲自验证控件。 因此,当我按下按钮时,我会贴上标签和条件。
protected void sendButton1_Click(object sender, EventArgs e)
{
if (QuestionDetailsTextBox2.Text.Length > 5000)
{
QuestionDetailsTextBox2.Text = "You cant enter more than 5000 characters";
}
else if(QuestionTextBox1.Text.Length > 100)
{
QuestionDetailsTextBox2.Text = "You cant enter more than 100 characters";
}
else if (checkValidation())
{
QuestionTextBox1.BorderColor = System.Drawing.Color.Red;
}
else
{
Response.Redirect("AnswerQuestion.aspx");
}
}
我添加了一个正则表达式验证器。 但是我也这样做:
protected void topicDropDownMenu_SelectedIndexChanged1(object sender, EventArgs e)
{
SubTopicDropDownList.Items.Clear();
string[] chosenItem = topic[topicDropDownMenu.SelectedItem.Value];
foreach (string item in chosenItem)
{
SubTopicDropDownList.Items.Add(item);
}
}
再次,我需要按两次按钮,这样它才能重定向我:(... ajax是否仍然必要?
如果要立即响应,则必须将验证逻辑移至客户端。 这通常意味着您在处理回发事件之前,使用javascript编写验证逻辑,并从按钮的客户端click事件或文本框的change事件中调用它。
在后面的代码中进行检查需要往返服务器。 无论您是以这种方式执行并回发整个页面,还是使用ajax进行部分回发,在将数据发送到服务器和客户端等待响应时都会有一个延迟。 延迟有多大取决于要传输的数据量和网络状况。 这就是为什么ajax通常更快,它可以发送较小批数据的原因。
无论您处理客户端验证如何,通常认为最好在后面的代码中重复验证逻辑。 这是为了捕获用户禁用了客户端脚本的任何实例。
您正在寻找部分页面更新 。
您可以使用AJAX和UpdatePanel 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.