2016-06-26 2 views
0

Хорошее время. Я новичок в Asp.net-MVC.как использовать связующее устройство для публикации данных из формы + значение диапазона к базе данных

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

Я хотел использовать привязку к модели, но я не знаю, как назвать прописные части такими же, как моя модель.

здесь мое действие:

[HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult Create([Bind(Include = "Id,TourId,FirstName,LastName,Email,Phone,Comment,FrequentTraveler,TravelersCount,Date,ContactTimePreference,Country,Archived")] Request request) 
    { 
     if (ModelState.IsValid) 
     { 
      db.Requests.Add(request); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     return View(request); 
    } 

пролет получает значение из JavaScript

<span class="col-md-5" id="selecteddate"></span> 

и вот моя форма, но я пишу только один из входов здесь для стенографических. :

<form role="form" method="post" action="/Tour"> 
    @Html.AntiForgeryToken() 

<div class="form-group"> 
<label for="FName">First Name:</label> 
<input type="text" name="FirstName" class="form-control" id="FName" placeholder="Enter FirstName" /> 


</div> 

</form> 

Я хочу отправить значение span ид = «SelectedDate» к базе данных в колонке под названием Date

признателен, если кто-нибудь может сказать мне, как это может быть возможным, или если у вас есть какой-либо лучший путь как предложение?

ответ

2

Одним из решений для этого является добавление hidden html input к вашему <from>. Когда вы делаете свою заявку, вы пишете ее значение как копию из своего диапазона с помощью javascript.

<form role="form" method="post" action="/Tour" onsubmit="prepare()"> 
    @Html.AntiForgeryToken() 

<div class="form-group"> 
<label for="FName">First Name:</label> 
<input type="text" name="FirstName" class="form-control" id="FName" placeholder="Enter FirstName" /> 


</div> 
<input type="hidden" name="Date" /> 
</form> 

@section Scripts { 
    <script type="text/javascript"> 
    function prepare() { 
     document.getElementsByName("Date")[0].value = document.getElementById("selecteddate").innerHtml; 
    } 
    </script> 
} 
+0

спасибо, но что такое [0] для Дата [0] .значение? –

+0

Поскольку 'getElementsByName' возвращает массив найденных имен. Мы получаем только первое найденное имя в массиве –

+0

благодаря тысяча раз. он работает :) –

Смежные вопросы