2013-04-30 29 views
3

我用平板電腦瀏覽我的網站時遇到了問題(asp.net MVC 2和瀏覽器是移動Safari或Android的)。 提交表單時,我的模型沒有綁定,並且出現一些錯誤。 這隻發生在平板電腦上(我試過iPad和ACER iconia標籤A200)。MVC.NET 2與iPad

這裏是我的模型:

public class ChoixVehiculeImmatriculationModel : Model 
{ 
    [Required(ErrorMessageResourceName = "ImmatriculationRequise", ErrorMessageResourceType = typeof(Erreurs))] 
    public string Immatriculation { get; set; } 
} 

這是我的觀點:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<ChoixVehiculeImmatriculationModel>" %> 

    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
     <div id="immatriculation"> 
      <% Html.BeginForm("ChoixImmatriculation", "ChoixVehicule", FormMethod.Post); %> 

      <table id="tabImmatriculation">  
       <tr><td><%= Libelles.SaisissezNumeroImmatriculation %> :</td></tr> 
       <tr><td><%= Html.TextBoxFor(m => m.Immatriculation, new { maxlength = 20, autocomplete = "off" })%></td></tr> 
       <tr><td> 
        <div id="btnValider"> 
         <div class="btnValidText" onclick="$(this).closest('form').submit();"><%= Libelles.Valider %></div> 
        </div> 
       </td></tr> 
      </table> 

      <%Html.EndForm(); %> 
     </div> 

    </asp:Content> 

這裏是控制器:

[AcceptVerbs(HttpVerbs.Post)] 
    public ActionResult ChoixImmatriculation(ChoixVehiculeImmatriculationModel model) 
    { 
     if (ModelState.IsValid) 
     { 
      using (IVehiculeUIService vehiculeService = GlobalContainer.Resolve<IVehiculeUIService>()) 
      { 
       List<VehiculeModel> vehicules = vehiculeService.GetListeVehiculesParImmatriculation(model.Immatriculation); 

       return GestionRetourSelonResultats(vehicules); 
      } 
     } 

     return View("ChoixVehiculeImmat", model); 
    } 

ModelState.IsValid是假的,它說,該場Immatriculationnull。 但是文本框已經填滿了!

它在開始時隨機發生。我必須做5次,因爲它有時會工作.. 在我的筆記本電腦上,它從來沒有發生過,一切都很好..

任何人都可以幫助我嗎? 也許瀏覽器和移動瀏覽器有所不同?

+0

你試過一個實際的提交按鈕,而不是與JavaScript的div?既然你正在創建一個表單,那麼提交按鈕就會對此做出反應。此外,你不是嵌套表格,你是否(例如,在佈局/主頁面文件中的一個) – Joshua 2013-04-30 13:39:26

+0

你可以檢查文本框沒有相同的id:'immatriculation'作爲周圍的div嗎?只是在HtmlHelpers中生成代碼的方式... – Tallmaris 2013-04-30 13:53:30

+0

我剛剛嘗試了提交按鈕,同樣的問題。 – 2013-04-30 13:54:26

回答

0

鑑於它是隨機發生的,並且在Chrome中不會發生(它在iPad上使用與Safari完全相同的渲染引擎),這顯然是一種競爭條件。

顯示在瀏覽器中的HTML是HTML valid?那裏可能有問題?