none
.net 4.5 验证控件不起作用 RRS feed

  • 问题

  • 安装.net4.5后,一开始使用验证控件出错,后来验证控件不起作用,点按钮后还是可以提交网页,只不过出现不验证错误的提示,请问这是什么状况,怎么解决?谢谢。
    2012年12月14日 0:46

答案

全部回复

  • 安装.net4.5后,一开始使用验证控件出错,后来验证控件不起作用,点按钮后还是可以提交网页,只不过出现不验证错误的提示,请问这是什么状况,怎么解决?谢谢。

    代码呢?

    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年12月17日 8:10
  • 编码如下:

    <fieldset class="fieldset">
            <legend class="legend">增加物资编码</legend>
            物资名称:<asp:TextBox ID="TextBox1" runat="server" CssClass="inputbox" Width="400px" />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="警告:物资名称不能为空" /><br />
            图号规格:<asp:TextBox ID="TextBox2" runat="server" CssClass="inputbox" Width="400px" /><br />
            物资材质:<asp:TextBox ID="TextBox3" runat="server" CssClass="inputbox" Width="200px" /><br />
            单位重量:<asp:TextBox ID="TextBox4" runat="server" CssClass="inputbox" Width="50px" /><br />
            计量单位:<asp:TextBox ID="TextBox5" runat="server" CssClass="inputbox" Width="50px" /><br />
            物资类别:<asp:DropDownList ID="DropDownList1" runat="server" CssClass="inputbox" /><br />
            制作周期:<asp:TextBox ID="TextBox6" runat="server" CssClass="inputbox" Width="50px" ToolTip="制作天数" /><br />
            物资说明:<asp:TextBox ID="TextBox7" runat="server" CssClass="inputbox" Width="700px" /><br />
            <asp:Button ID="Button1" runat="server" Text="确认录入" OnClick="Button1_Click" />
            <asp:Label ID="Label1" runat="server" />
        </fieldset>

    TextBox1为空时仍能执行Button1_Click的内容。

    2012年12月19日 7:46
  • 可以的话请把代码关键部分上传到SkyDrive上并公开其链接,谢谢!

    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年12月19日 8:08
  • 抱歉,上面已经是这个aspx文件的全部了,没有其他的功能,下面是c#的内容:

    protected void Button1_Click(object sender, EventArgs e)
        {
            DataTable table = ieam.ExcuteSelect("select top 1 wzbm from wzbm order by wzbm desc");
            if (table.Rows.Count == 0)
            {
                ieam.ExcuteSql("insert into wzbm values ('" + 1000001 + "','" + TextBox1.Text.Trim() + "','" + TextBox2.Text.Trim() + "','" + TextBox3.Text.Trim() + "','" + TextBox4.Text.Trim() + "','" + TextBox5.Text.Trim() + "','0','0','0','0','0','" + DropDownList1.SelectedValue + "','" + TextBox6.Text.Trim() + "','无','在用','" + TextBox7.Text.Trim() + "')");
                Label1.Text = "已成功录入:" + TextBox1.Text + "/" + TextBox2.Text;
                TextBox1.Text = "";
            }
            else
            {
                ieam.ExcuteSql("insert into wzbm values ('" + (Convert.ToInt32(table.Rows[0]["wzbm"]) + 1).ToString() + "','" + TextBox1.Text.Trim() + "','" + TextBox2.Text.Trim() + "','" + TextBox3.Text.Trim() + "','" + TextBox4.Text.Trim() + "','" + TextBox5.Text.Trim() + "','0','0','0','0','0','" + DropDownList1.SelectedValue + "','" + TextBox6.Text.Trim() + "','无','在用','" + TextBox7.Text.Trim() + "')");
                Label1.Text = "已成功录入:" + TextBox1.Text + "/" + TextBox2.Text;
                TextBox1.Text = "";
            }
        }

    如果还需要其他的,请说明下。

    谢谢!


    2012年12月20日 5:38
  • 我无法模拟你的错误,如果有可能的话,请把代码关键部分上传到SkyDrive上并公开其链接,谢谢!具体方法请参考我签名处红色部分(点击打开的“补充说明3”,谢谢!)。


    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年12月20日 6:02
  • 好的,我把所有的代码发过来。
    2012年12月20日 6:53
  • 好的,我把所有的代码发过来。

    请打包上传,不要发代码。谢谢!便于大家下载模拟你的情况。

    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年12月20日 6:58
  • 3个文件:
    webconfig:

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>
        <system.web>
          <compilation debug="false" targetFramework="4.5" />
          <httpRuntime targetFramework="4.5" />
        </system.web>
    </configuration>

    Default.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <!DOCTYPE html>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        验证文本:<asp:TextBox ID="TextBox1" runat="server" />
            <asp:Button ID="Button1" runat="server" Text="测试验证" OnClick="Button1_Click" />
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1" runat="server" ErrorMessage="文本不能为空"></asp:RequiredFieldValidator>
        </div>
        </form>
    </body>
    </html>

    Default.aspx.cs

    using System;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            TextBox1.Text = "按钮事件.";
        }
    }

    4.0的时候点击按钮后,如果TextBox1为空的话,就不会执行Button1_Click,但现在能执行了。

    2012年12月20日 7:10
  • 好问题,请这样解决:

    1)右键创建一个Global.asax。

    2)这样添加代码:

      protected void Application_Start(object sender, EventArgs e)
            {
                ValidationSettings.UnobtrusiveValidationMode = UnobtrusiveValidationMode.None;
            }

    帮助一起改进论坛质量?提交你的意见于此。
    我的博客园
    慈善点击,点击此处
    和谐拯救危机,全集下载,净化人心

    2012年12月20日 7:38
  • 非常标准的答案,谢谢。
    2012年12月20日 8:48