带iPad的MVC.NET 2

时间:2013-04-30 13:22:08

标签: c# asp.net-mvc ipad

我在使用平板电脑浏览网站时遇到问题(asp.net MVC 2和浏览器是移动版Safari或Android版)。 提交表单时,我的模型没有绑定,我收到了一些错误。 这只发生在平板电脑上(我试过iPad和ACER iconia标签A200)。

这是我的模特:

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为false,表示字段Immatriculationnull。 但是文本框已经填满了!

它在开始时随机发生。我必须做5次才能有时工作.. 在我的笔记本电脑上,它永远不会发生,一切都很好......

有人能帮帮我吗? 浏览器和移动浏览器之间可能存在差异吗?

1 个答案:

答案 0 :(得分:0)

鉴于它是随机发生的,并且不会发生在Chrome中(在iPad上使用与Safari完全相同的渲染引擎),这显然是竞争条件。

HTML是否显示在浏览器HTML valid中?也许那里有问题?