我的 jQuery mobile \ MVC 应用程序有一个稍微奇怪的问题,到目前为止我无法追踪。
在我看来,我有 2 个 HTML.HiddenFor 字段。当表单发布时,这些字段中的值将绑定到我的控制器中的模型类的属性。属性是 Double 类型。在我的本地开发机器上发布表单时,值绑定正常。但是,当我的应用程序部署到远程服务器时,模型绑定停止工作,让它再次工作的唯一方法是将属性类型从 Double 更改为字符串。
这是我的模型:-
public class HomeViewModel
{
public Double Latitude { get; set; } //form value binds locally but does not bind on remote server
public Double Longitude { get; set; } //form value binds locally but does not bind on remote server
public string LatitudeStr { get; set; } //form value binds
public string LongitudeStr { get; set; } //form value binds
这是我的看法:-
@using (Html.BeginForm("Index","Branches", FormMethod.Post, new { ID = "frmSearch", data_transition = "none" })){
@Html.HiddenFor(model => model.Latitude, new { id = "hdnLat" })
@Html.HiddenFor(model => model.Longitude, new { id = "hdnLong" })
这是我的控制器:-
[HttpPost]
public ActionResult Index(HomeViewModel model)
{
当我在提交表单后检查页面时,我可以看到 input-validation-error 类已附加到隐藏元素:
查看 Firebug 中的发布信息,我可以看到已发布值。
以上在本地工作正常,但不能从远程服务器运行。
据我所见,在本地和远程运行时,完全相同的值会发回服务器
如果有人能对此有所了解,那就太好了