MVC.NET 2 with iPad
本文关键字:iPad with NET MVC | 更新日期: 2023-09-27 18:11:43
我在用平板电脑浏览我的网站时遇到了一个问题(asp.net MVC 2和浏览器是移动safari或android)。当提交表单时,我的模型没有绑定,我得到一些错误。这只会发生在平板电脑上(我试用过iPad和ACER iconia tab 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
为假,表示字段Immatriculation
为null
。但是文本框已经被填满了!
它在开始时随机发生。有时我要做5次才能奏效。在我的笔记本电脑上,它从来没有发生过,一切都工作得很好。
有谁能帮帮我吗?也许浏览器和手机浏览器有什么不同?考虑到它是随机发生的,并且在Chrome中不会发生(它在iPad上使用与Safari完全相同的渲染引擎),这显然是一个竞争条件。
浏览器中显示的HTML是否有效?也许那里有问题?