shaki_phd
شنبه 18 مرداد 1393, 13:21 عصر
با سلام
من میخواستم بدونم چگونه میشه لیستی از داده ها را از یک view به کنترلر پاس بدم
public int AgentId { get; set; }
public int CountryId { get; set; }
public string CountryName { get; set; }
public int CityId { get; set; }
public string CityName { get; set; }
public int HotelId { get; set; }
public string HotelName { get; set; }
public int RoomId { get; set; }
public string RoomType { get; set; }
public IList<DateTime> Days { get; set; }
public DateTime From { get; set; }
public DateTime To { get; set; }
//public
public IList<Customer> Customers { get; set; }
کلاس مدل من به شکل بالاست
که در view بر اساس این کلاس به طور مثال اجازه ثبت چندین customer میدم اما وقتی به کنترلر ارسال میشه این لیست من null دریافت میشه
چگونه میتونم اطلاعات ارسالی را دریافت کنم
view من هم به شکل زیر هستش
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Reservation</legend>
@Html.Hidden("RoomId", Model.RoomId)
@Html.Hidden("AgentId", Model.AgentId)
@Html.Hidden("From", Model.From)
@Html.Hidden("To", Model.To)
<div class="row-fluid">
<div class="span1">
@Html.LabelFor(model => Model.HotelName)
</div>
<div class="span1">
@Html.DisplayFor(model => Model.HotelName)
</div>
<div class="span1">
@Html.LabelFor(model => Model.CountryName)
</div>
<div class="span1">
@Html.DisplayFor(model => Model.CountryName)
</div>
<div class="span1">
@Html.LabelFor(model => Model.CityName)
</div>
<div class="span1">
@Html.DisplayFor(model => Model.CityName)
</div>
</div>
<div class="form-inline">
@foreach (var item in Model.Days)
{
<div style="font-size: 10px; width:30px;">@item.Date</div>
}
</div>
@foreach (var item in Model.Customers)
{
<div class="editor-label">
@Html.LabelFor(model => item.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => item.FirstName)
@Html.ValidationMessageFor(model => item.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => item.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => item.LastName)
@Html.ValidationMessageFor(model => item.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(model => item.PasportNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => item.PasportNumber)
@Html.ValidationMessageFor(model => item.PasportNumber)
</div>
}
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
من میخواستم بدونم چگونه میشه لیستی از داده ها را از یک view به کنترلر پاس بدم
public int AgentId { get; set; }
public int CountryId { get; set; }
public string CountryName { get; set; }
public int CityId { get; set; }
public string CityName { get; set; }
public int HotelId { get; set; }
public string HotelName { get; set; }
public int RoomId { get; set; }
public string RoomType { get; set; }
public IList<DateTime> Days { get; set; }
public DateTime From { get; set; }
public DateTime To { get; set; }
//public
public IList<Customer> Customers { get; set; }
کلاس مدل من به شکل بالاست
که در view بر اساس این کلاس به طور مثال اجازه ثبت چندین customer میدم اما وقتی به کنترلر ارسال میشه این لیست من null دریافت میشه
چگونه میتونم اطلاعات ارسالی را دریافت کنم
view من هم به شکل زیر هستش
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<legend>Reservation</legend>
@Html.Hidden("RoomId", Model.RoomId)
@Html.Hidden("AgentId", Model.AgentId)
@Html.Hidden("From", Model.From)
@Html.Hidden("To", Model.To)
<div class="row-fluid">
<div class="span1">
@Html.LabelFor(model => Model.HotelName)
</div>
<div class="span1">
@Html.DisplayFor(model => Model.HotelName)
</div>
<div class="span1">
@Html.LabelFor(model => Model.CountryName)
</div>
<div class="span1">
@Html.DisplayFor(model => Model.CountryName)
</div>
<div class="span1">
@Html.LabelFor(model => Model.CityName)
</div>
<div class="span1">
@Html.DisplayFor(model => Model.CityName)
</div>
</div>
<div class="form-inline">
@foreach (var item in Model.Days)
{
<div style="font-size: 10px; width:30px;">@item.Date</div>
}
</div>
@foreach (var item in Model.Customers)
{
<div class="editor-label">
@Html.LabelFor(model => item.FirstName)
</div>
<div class="editor-field">
@Html.EditorFor(model => item.FirstName)
@Html.ValidationMessageFor(model => item.FirstName)
</div>
<div class="editor-label">
@Html.LabelFor(model => item.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(model => item.LastName)
@Html.ValidationMessageFor(model => item.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(model => item.PasportNumber)
</div>
<div class="editor-field">
@Html.EditorFor(model => item.PasportNumber)
@Html.ValidationMessageFor(model => item.PasportNumber)
</div>
}
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}