0

Hi I'm working with MVC3 i want to insert the values displayed in front end into the table in backend.How can i achieve this?

Following is my view,

@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>

This is the child window of the page.Here i'm using partial view also.i want to get all the values which are displayed in a page to be inserted into the table.can Anyone please help me out of this

4

2 回答 2

1

您应该为您的视图创建一个ViewModel,它将存储您的模型和您想要传递给控制器​​的其他数据,例如主管响应和评论。利用 MVC 扩展,例如 EditorFor、TextAreaFor 等

于 2013-07-09T13:26:47.273 回答
0

好的,所以您在这里所拥有的只是 Model-View-Controller 的 View 部分。您似乎有一个 ViewModel 用于在页面上显示列表,但您仍然缺少一些关键部分:

  1. 另一个 ViewModel 用于保存要发送到控制器的表单数据。假设您希望保持 View 的结构不变,您可以简单地将这个新 ViewModel 添加为现有 TravelReadyModel 的属性。
  2. 更改您的 HTML 表单元素以使用以“For”结尾的 HTML Helpers 将值自动绑定回您的新 ViewModel。将这些包围在 HTML.BeginForm() 中。
  3. 为数据的回发添加一个控制器方法。
  4. 假设您现在根本没有数据库后端支持,请使用实体框架来设置数据库访问。
  5. 在 MVC 应用程序的最简单形式中,Controller 将直接与实体框架 DataContext 交互并将新发布的 ViewModel 从 View 添加到 DB。

您需要在这里进行很多研究,但这应该可以帮助您入门。这是一个很棒的综合教程,它将引导您完成上述所有内容以及更多内容! http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

于 2013-07-09T14:11:26.763 回答