Asp.Net Mvc表格不发布?

时间:2012-07-09 11:53:03

标签: asp.net-mvc validation drop-down-menu

视图

@model Osos12Mvc3.Models.TblSayaclar
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
<div id="div_dialog_container" class="dialog_container">
@using (Html.BeginForm((string)ViewBag.FormAction, "Sayac"))
{
    <div id="div_iu_form_container" class="ui_form_container">
        <div>@Html.ValidationSummary(true, "Sayaç Kaydı Başarısız! Lütfen Bilgileri Kontrol Ediniz.")
        </div>
        <table>
            <thead>
                <tr>
                    <th colspan="2">
                        Genel Bilgiler
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>@Html.LabelFor(x => x.TblMusteriler.musteri_adi):
                    </td>
                    <td>@Html.DropDownList("sno", (SelectList)ViewBag.musteri_id, "--Müşteri Seçiniz--")
                    </td>
                     </tr>
            </tbody>
            <tfoot>
            </tfoot>
        </table>
        <table class="table_ui_buttons">
            <thead>
                <tr>
                    <th colspan="2">
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <input type="submit" value="Kaydet" />
                    </td>
                    <td>
                    </td>
                </tr>
            </tbody>
        </table>
    </div>
    }
 </div>

控制器

public ActionResult SayacEkle()
{
    var musteriler = entity.TblMusteriler.Select(x => new { x.sno, x.musteri_adi });
    ViewBag.musteri_id = new SelectList(musteriler.AsEnumerable(), "sno", "musteri_adi");

    return ContextDependentView(new TblSayaclar());
}

我在视图中使用validationsummary。当我点击提交下拉列表颜色更改为红色时。 (如必填字段)。我不明白那个州。我调试了帖子事件,它没有发布。后期行动没有解雇。

这是Html来源:

<select data-val="true" data-val-number="The field sno must be a number." data-val-required="The sno field is required." id="sno" name="sno" class="input-validation-error"><option value="">--Müşteri Seçiniz--</option>

AliRızaAdıyahşi

有什么不对?

由于

1 个答案:

答案 0 :(得分:2)

  

当我点击提交下拉列表颜色更改为红色时。 (

如果您的视图模型属性标记为Required属性,则验证它是正常的:

[Required]
public string Sno { get; set; }

有两个级别的验证按顺序运行:

  1. 客户端验证(默认情况下未启用,使用jquery实现ubnobtrusive =&gt;阻止表单提交)
  2. 服务器端验证
  3. 如果您正在使用客户端验证(不引人注目的javascript)并且您有模型错误,那么表单甚至不会发布到服务器。用户需要首先修复错误才能提交表单。