如何从视图到控制器获取结果,以便我可以保存在数据库中

时间:2014-01-24 15:18:07

标签: javascript asp.net-mvc database

我正在研究调度程序应用程序。我正在使用Asp.NET MVC。

我有计算日程安排日期并向用户显示的脚本。

您可以在下面找到整个脚本功能:

    <script>
 function refreshExplain() {
     $('#sceduleExplain').html('');

     var locked = document.getElementById('lockStart').checked;
     var valid = true;
     var inteval = 86400000 * parseFloat(document.getElementById('autoFrequency').value);

     var startDate = document.getElementById('autoStart').value;
     startDate = startDate.substring(4);
     var startHour = parseInt(document.getElementById('autoStartHour').value);
     var sd = new Date(Date.parse(startDate));
     //sd.set({ hour: startHour });
     sd.setHours(startHour);


     var filterStart = document.getElementById('periodStart').value;
     filterStart = filterStart.substring(4);
     var filterStartHour = parseInt(document.getElementById('periodStartHour').value);
     var fsd = new Date(Date.parse(filterStart));
     //fsd.set({ hour: filterStartHour });
     fsd.setHours(filterStartHour);

     //alert(fsd);

     var filterEnd = document.getElementById('periodEnd').value;
     filterEnd = filterEnd.substring(4);
     var filterEndHour = parseInt(document.getElementById('periodEndHour').value);
     var fed = new Date(Date.parse(filterEnd));
     //fed.set({ hour: filterEndHour });
     fed.setHours(filterEndHour);

     //alert(fed);

     var sDate = sd.getTime();
     var sPeriod = sDate - fsd.getTime();
     var ePeriod = sDate - fed.getTime();

     if (sPeriod < ePeriod || sPeriod < 0 || ePeriod < 0) {
         valid = false;
     }

     if (valid) {

         for (i = 0; i < 5; i++) {
             var date = new Date(sDate + (inteval * i));
             if (locked) {
                 var psdate = new Date(sDate - sPeriod);
             } else {
                 var psdate = new Date(sDate + (inteval * i) - sPeriod);
             }
             var pedate = new Date(sDate + (inteval * i) - ePeriod);
             $('#sceduleExplain').append('<div class="col-3" style="font-weight: bold; margin-left: 146px;margin-right:100px;float:left">' + date.customFormat("#DDD# #D# #MMMM# #YYYY#, #hhh#:00") + '</div><div class="col-6">' + psdate.customFormat("#DDD# #D# #MMM# #YYYY#, #hhh#:00") + ' &#8594; ' + pedate.customFormat("#DDD# #D# #MMM# #YYYY#, #hhh#:00") + '</div><br />');
         }
     } else {
         $('#sceduleExplain').html('<div style="font-weight: bold; margin-left: 146px;">Not a valid set of dates. Please make sure your start date is after the period for your report.</div>');
     }

     return false;
 }

这里我根据用户输入计算 5 天的计划日期。我在这个视图中显示这个:

       <li id="explainArea">
       <div class="clear">
           &#160;</div>
        <div class="col-3" style="font-weight: bold;margin-left: 146px; margin-right: 100px;
           float: left;">
           DELIVERY TIME</div>
           <div class="col-6">
           DATA ACCESS PERIOD</div>
           <div class="clear">
             &#160;</div>
            <div id="sceduleExplain" style="font-size: 7pt;">
              </div>
              <div class="clear">
              &#160;</div>
       <input type="button" class="btn btn-primary btn-large" onclick="toggleActive(); return false;" style="margin-left: 146px; height: 30px;width : 8%; padding-top: 4px;" value="REFRESH" />
            </li>

此处,在投放时间下方,我可以看到用户收到邮件的 5 日程安排日期。但我需要将这些日期存储在数据库中。

我尝试在httpost中使用formcollection,但它不起作用。

有人可以告诉我如何在控制器中获取此结果,因此我可以将这些结果保存在数据库中。

1 个答案:

答案 0 :(得分:0)

获取日期并通过ajax将控制器发送给您

$.ajax({ type: 'POST', url: '...', data: { date: mydate } });

或添加输入字段和表单标记(我不会在您提供的代码中看到)。