2013-07-09 32 views
0

嗨我正在使用MVC3我想將前端顯示的值插入到後端的表中。如何實現此目的?如何將視圖中顯示的值插入到後端

以下是我的觀點,

@model TravelReady_SupervisorInput.Models.TravelReadyModel 
@{ 
    Layout = "~/Views/Shared/_Layout.cshtml"; 
} 
<script language="javascript"> 
    $(document).ready(function() { 
    $("#es").hide(); 
    $("#n").hide(); 
    $("#date").hide(); 
});  
</script> 
<h2 class="filter">Associate Details</h2> 
<fieldset class="fs"> 
@foreach (var item in Model.lstTravelReadyEntities) 
{ 
    <label class="Detail1"><b>Associate Id : </b>@item.Var_AssoId </label> 
    <label class="Detail1"><b>Vertical :</b>@item.Var_Vertical</label> 
    <label class="Detail1"><b>Visa ValidFrom :</b>@item.Dt_VisaValidFrom </label><br /><br /> 
    <label class="Detail2"><b>Associate Name :</b>@item.Var_AssociateName</label> 
    <label class="Detail2"><b>Account Name :</b>@item.Var_AccountName</label> 
    <label class="Detail2"><b>Visa ValidDate :</b>@item.Dt_VisaValidTill</label><br /><br /> 
    <label class="Detail3"><b>Grade HR :</b>@item.Var_Grade</label> 
    <label class="Detail3"><b>Project Name :</b>@item.Var_Project_Desc</label><br />   
} 
<h2> Response Details</h2><br /> 
Supervisor Response : 
<input type="radio" class="radi" name="radio" value="Yes" onclick="javascript:Getyfunc();">Yes 
<input type="radio" name="radio" value="No" onclick="javascript:Getnfunc()">No 
<div id="es"> 
<label style="padding-left:10px;">*Supervisor Inputs : 
    <select id="dropdown" name="dropdown"> 
     <option value="0">Select</option> 
     <option value="1">Available for Deployment/Release</option> 
     <option value="2">Travel Planned</option> 
     <option value="3">To Deploy For Same Account</option> 
    </select> 
</label> 
<label>Comments If Any 
    <textarea name="comments" id="cmts"></textarea> 
</label> 
<br /> 
<br /> 
<label id="date">*Date of Travel 
    <input type="text" id="datepicker" onclick="$(this).datepicker().datepicker ('show')"/> 
</label> 
<br /> 
<br /> 
</div> 
<div id="n"> 
<label style="padding-left:10px;">*Supervisor Inputs : 
    <select id="dropdown" name="dropdown"> 
     <option value="0">Select</option> 
     <option value="1">Critical Project Resource</option> 
     <option value="2">Associate Unwilling to Travel</option> 
    </select> 
</label> 
<label>Comments If Any 
<textarea name="comments" id="cmts"></textarea></label> 
<br /> 
<br /> 
</div> 
<input type="submit" id="sbt" value="Submit" name="Submit" onclick="javascript:InsertDetails();"/> 
</fieldset> 

這是page.Here的子窗口我使用的局部視圖also.i想將插入所有顯示在頁面中的值進入表格。任何人都可以幫我解決這個問題

+0

你能在這裏提供任何額外的信息嗎?表意味着SQL DB後端?你標記爲在標籤中使用AJAX ...你試圖做一個異步帖子? –

+0

是的,我使用Sql Server 2008作爲後端 – user2514925

回答

1

您應該爲您的視圖創建一個ViewModel,它將存儲您想要傳遞給您的控制器的模型和其他數據,例如Supervisor Responses和Comments。利用MVC擴展,如EditorFor,TextAreaFor等

+1

BeginForm也需要在這裏調用,指向用HTTP Post裝飾的Controller動作。這是基本的MVC的東西,我建議看看這些教程:http://www.asp.net/mvc/tutorials –

0

好的,所以你在這裏只是模型 - 視圖 - 控制器的視圖部分。你似乎對列表中顯示的頁面上的視圖模型,但你仍然缺少一些關鍵信息:

  1. 另一個視圖模型來保存你的表單數據要發送到控制器。假設您想保留View的結構,您可以簡單地將這個新的ViewModel添加爲您現有TravelReadyModel的一個屬性。
  2. 更改您的HTML表單元素以使用以「For」結尾的HTML Helpers自動將值綁定回新的ViewModel。將這些包圍在HTML.BeginForm()中。
  3. 爲數據的回發添加控制器方法。
  4. 假設您現在完全沒有數據庫後端支持,請使用Entity Framework來設置數據庫訪問。
  5. 在最簡單的MVC應用程序中,Controller將直接與實體框架DataContext交互,並將View中新發布的ViewModel添加到數據庫中。

有很多研究需要在這裏做,但這應該讓你開始。這裏有一個很棒的綜合教程,可以幫助你理解以上所有內容! http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

相關問題