C# ASP.Net MVC ModelBinding-错误-输入字符串格式不正确
真糟糕,我现在正在工作,你能找出什么问题吗 HTML\ASP.NET MVCC# ASP.Net MVC ModelBinding-错误-输入字符串格式不正确,c#,asp.net-mvc,model-binding,C#,Asp.net Mvc,Model Binding,真糟糕,我现在正在工作,你能找出什么问题吗 HTML\ASP.NET MVC @foreach (var item in Model.BookingItems) { <div class="row"> <div class="form-group"> <input type="hidden" value="@item.Id" name="BookingItems_item_Id_@item.Id"/&g
@foreach (var item in Model.BookingItems)
{
<div class="row">
<div class="form-group">
<input type="hidden" value="@item.Id" name="BookingItems_item_Id_@item.Id"/>
<input type="hidden" value="@item.Name" name="BookingItems_item_Name_@item.Id"/>
</div>
</div>
}
在尝试设置bookingitems时,我不断收到“输入字符串格式不正确”
想法?HttpContext.Request.Form.allkey中的一个条目不是X_Y__Z(其中X、X和Z是整数)抱歉,不明白?,返回的键类似于BookingItems\u item\u Id\u 19634243-7db2-4622-9dce-4B5D93593BB1,这是一个
guid
,您将其解析为HttpContext.Request.Form中的int
项之一。所有键都不是X\u Y\u Z(其中X、X和Z是整数)。对不起,不明白吗?,返回的键类似于BookingItems\u item\u Id\u 19634243-7db2-4622-9dce-4B5D93593BB1,这是一个guid
,您将其解析为int
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var booking = new OnlineClientBooking();
try
{
var items = controllerContext.HttpContext.Request.Form.AllKeys
.Where(k => k.StartsWith("BookingItems_item_"))
.Select(k => int.Parse(k.Split('_')[3]))
.Select(i => new OnlineClientBookingItem()
{
Name = (string)bindingContext.ValueProvider.GetValue(
string.Format("BookingItems_item_Name_{0}", i)).ConvertTo(typeof(string)),
Id = (string)
bindingContext.ValueProvider.GetValue(string.Format("BookingItems_item_Id_{0}", i)) .ConvertTo(typeof(string)),
}).Distinct();
}
catch (Exception ea)
{
booking.BookingItems = null;
}
}