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
是假的,它說,該場Immatriculation
是null
。 但是文本框已經填滿了!
它在開始時隨機發生。我必須做5次,因爲它有時會工作.. 在我的筆記本電腦上,它從來沒有發生過,一切都很好..
任何人都可以幫助我嗎? 也許瀏覽器和移動瀏覽器有所不同?
你試過一個實際的提交按鈕,而不是與JavaScript的div?既然你正在創建一個表單,那麼提交按鈕就會對此做出反應。此外,你不是嵌套表格,你是否(例如,在佈局/主頁面文件中的一個) – Joshua 2013-04-30 13:39:26
你可以檢查文本框沒有相同的id:'immatriculation'作爲周圍的div嗎?只是在HtmlHelpers中生成代碼的方式... – Tallmaris 2013-04-30 13:53:30
我剛剛嘗試了提交按鈕,同樣的問題。 – 2013-04-30 13:54:26