在MVC 4提交按钮中禁用客户端验证

时间:2015-04-03 09:36:09

标签: c# asp.net asp.net-mvc-4

在我的asp.net mvc4应用程序中,我收到此错误"从客户端检测到一个潜在危险的Request.Form值"例如,当创建一个新项目" cond"。 cond是数据库中的一个表,有两个字段" id_regle"和" cond_txt"。 cond_txt字段将具有以下形式的条件" left_side + op + right_side&#34 ;; op =&lt ;,>,== .... 我尝试了我发现的不同建议,但是没有一个建议让我禁用此验证。

这是视图"创建":

@model MvcApplication3.cond
@{
ViewBag.Title = "Create";
}
 <h2>Create</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>cond</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.cond_txt)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.cond_txt)
        @Html.ValidationMessageFor(model => model.cond_txt)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.id_regle, "regle")
    </div>
    <div class="editor-field">
        @Html.DropDownList("id_regle", String.Empty)
        @Html.ValidationMessageFor(model => model.id_regle)
    </div>

    <p>
        <input type="submit" value="Create" class="cancel" />
    </p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

这是控制器:

 public ActionResult Create()
    {
        ViewBag.id_regle = new SelectList(db.regle, "id", "action");
        return View();
    }

    //
    // POST: /Default2/Create

    [HttpPost]
    public ActionResult Create(cond cond)
    {
        if (ModelState.IsValid)
        {
            db.cond.AddObject(cond);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        ViewBag.id_regle = new SelectList(db.regle, "id", "action", cond.id_regle);
        return View(cond);
    }

我尝试添加validateRequest =&#34; false&#34;在web.config中,但这对我没有用 任何建议PLZ

2 个答案:

答案 0 :(得分:0)

这对我有用,我在控制器中添加了[ValidateInput(false)]  reference

答案 1 :(得分:0)

您可以使用以下方法在控制渲染时禁用客户端验证。

@{ Html.EnableClientValidation(false); }

或试试这个

<%@ Page validateRequest="false" %>