2012-07-09 64 views
0

視圖我認爲使用的ValidationSummaryAsp.Net Mvc Form不發表?

@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()); 
} 

林。當我點擊提交下拉列表顏色更改爲紅色。 (如必填字段)。我不瞭解那個狀態。我調試後事件,它沒有發佈。發佈行動並未解僱。

這是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

什麼是錯的?

感謝

+0

如果確認被解僱(在下拉列表紅如你說的),導致一職。試着用你的所有表單域張貼正確填充,並在'SayaEkle'控制器動作設置斷點,看看它是否擊中該方法假設它不會發布 – MilkyWayJoe 2012-07-09 11:58:27

+0

我應該改變的GUID我的數據庫爲int的SNO型前? – 2012-07-09 12:25:53

回答

2

當我點擊提交下拉列表顏色變爲紅色。 (

如果您的視圖模型屬性標記與所需的屬性,那麼這是正常的,它得到確認:

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

有2層驗證其在順序運行:

  1. 客戶端驗證(默認情況下未啓用,使用jquery ubnobtrusive =>阻止提交表單)
  2. 服務器端驗證

如果您使用客戶端驗證(不顯眼的JavaScript),並且您有模型錯誤,那麼表單甚至不會發布到服務器。用戶在提交表單之前需要先解決他的錯誤。

+0

這是正確的,+1 – MilkyWayJoe 2012-07-09 11:59:38

+0

沒有標記爲必需屬性 – 2012-07-09 12:00:28

+0

當它變紅時會看到什麼錯誤消息? – MilkyWayJoe 2012-07-09 12:01:04