2015-03-04 4 views
3

enter image description hereполучить значение последнего добавляются текстового поле ASP.NET MVC

, если я нажму на дату надстройкиBEGIN_DATE и датой_окончания будут добавлены к моему мнению. В начале у меня есть только 1 начальная и конечная дата. даты добавляются с помощью этого:

$(document).ready(function() { 

    var str = '<div class="form-group">' + 
      '@Html.LabelFor(model => model.begin_date, new { @class = "control-label col-md-2" })' + 
      '<div class="col-md-10">' + 
       ' @Html.TextBoxFor(model => model.begin_date, new { @Value = ViewBag.startDate, id = "begin_date" })' + 
       ' @Html.ValidationMessageFor(model => model.begin_date)' + 
      '</div>' + 
    ' </div>' + 

     ' <div class="form-group">' + 
      ' @Html.LabelFor(model => model.end_date, new { @class = "control-label col-md-2" })' + 
      ' <div class="col-md-10">' + 
       ' @Html.TextBoxFor(model => model.end_date, new { id = "end_date", @Value = ViewBag.endDate })' + 
      ' @Html.ValidationMessageFor(model => model.end_date)' + 
      ' </div>' + 
     ' </div>'; 

    $("#addItem").click(function() { 
     $.ajax({ 
      url: this.href, 
      cache: false, 
      success: function (html) { $("#editorRows").append(str); } 
     }); 
     return false; 
    }); 
}); 

в моем контроллере у меня есть параметры на посте DateTime begin_date, DateTime end_date и они получают только значение первого BEGIN_DATE и датой_окончания. Как я могу получить значение первых begin_date и последние добавлено end_date?

мой взгляд: pastebin

пост управления:

[HttpPost] 
    public ActionResult Create(int merchantId, string name, DateTime begin_date, DateTime end_date) 
    { 
ViewBag.startDate = DateTime.Now.AddDays(1).ToShortDateString(); 
     ViewBag.endDate = DateTime.Now.AddMonths(1).ToShortDateString(); 

     TmpUniPaySchedulesRowArray nameValuePairArray = new TmpUniPaySchedulesRowArray(); 
     nameValuePairArray.TmpUniPaySchedulesRowArrayObj = new TmpUniPaySchedulesRow[1]; 
     TmpUniPaySchedulesRow row = new TmpUniPaySchedulesRow(); 

     row.Id = 0; 
     row.BeginDate = begin_date; 
     row.EndDate = end_date; 
     row.AmountPercentage = 100; 

     nameValuePairArray.TmpUniPaySchedulesRowArrayObj[0] = row; 
Oracle.DataAccess.Client.OracleCommand oracleCommand = new Oracle.DataAccess.Client.OracleCommand(); //gasasworebelia!!!!! 

     oracleCommand.Connection = new Oracle.DataAccess.Client.OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OracleBillUser"].ConnectionString); 

     oracleCommand.CommandType = System.Data.CommandType.StoredProcedure; 
     oracleCommand.CommandText = "tmp_uni.pay_schedules_group_add"; 
     oracleCommand.Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("ai_merchant_id", Oracle.DataAccess.Client.OracleDbType.Int32, merchantId, System.Data.ParameterDirection.Input)); 
     oracleCommand.Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("ai_name", Oracle.DataAccess.Client.OracleDbType.Varchar2, name, System.Data.ParameterDirection.Input)); 
     oracleCommand.Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("ai_begin_date", Oracle.DataAccess.Client.OracleDbType.Date, begin_date, System.Data.ParameterDirection.Input)); 
     oracleCommand.Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("ai_end_date", Oracle.DataAccess.Client.OracleDbType.Date, end_date, System.Data.ParameterDirection.Input)); 
     Oracle.DataAccess.Client.OracleParameter paramPayerInputData = new Oracle.DataAccess.Client.OracleParameter("ai_pay_schedules_values", Oracle.DataAccess.Client.OracleDbType.Array, nameValuePairArray, System.Data.ParameterDirection.Input); 
     paramPayerInputData.UdtTypeName = "TMP_UNI_PAY_SCHEDULES_TYPE"; //case sensitive!!! 
     oracleCommand.Parameters.Add(paramPayerInputData); 
     oracleCommand.Parameters.Add(new Oracle.DataAccess.Client.OracleParameter("ao_error_code", Oracle.DataAccess.Client.OracleDbType.Int32, System.Data.ParameterDirection.Output)); 

     if (oracleCommand.Connection.State == System.Data.ConnectionState.Closed) 
      oracleCommand.Connection.Open(); 

     try 
     { 
      oracleCommand.ExecuteNonQuery(); 

      int returnErrorCode = int.Parse(oracleCommand.Parameters["ao_error_code"].Value.ToString()); 
     } 
     catch (OracleException ex) 
     { 
      Console.WriteLine(ex.ToString()); 
     } 



     return RedirectToAction("Index"); 
    } 
+0

Первый начальный_данец и последний end_date .... что вы собираетесь делать с датами между ними? – Alex

+0

@Alex Мне нужно отправить в базу данных первую и последнюю дату – gsiradze

+0

Пожалуйста, можете ли вы разместить подпись метода для вашего метода действий с контроллером? – Alex

ответ

2

модель связывания польз имя ваших входов; Так как вы дублирования имен управления, попробуйте изменить метод, чтобы принять коллекцию объектов времени дата:

public ActionResult Create(int merchantId, string name, IEnumerable<DateTime> begin_date, IEnumerable<DateTime> end_date) 

Вы, конечно, придется пройти через это, чтобы получить первый/последний пункт самостоятельно.

var firstBeginDate = begin_date.First(); 
var lastEndDate = end_date.Last(); 
+0

решено спасибо !!! – gsiradze