2012-01-02 48 views
0

我有注册表格用于注册个人属性。我正在使用包括Ajax.BeginForm函数和JSON序列化窗体。此表单正在更新属性并显示数据库中可用的属性。因此,如果用户输入值并单击保存按钮,它将序列化表单并将其保存到数据库中。当用户呼叫该页面时;它也使用JSON来填充来自数据库的表单,如果存在可用记录的话,如果不是像往常一样显示空白表单。如何将DropDownList绑定到Ajax表单并同时发布并获得支持?

请在下方找到部分视图。

@using (Ajax.BeginForm(
    "savepeople", 
    "people", 
    FormMethod.Post, 
    new AjaxOptions { OnComplete = "savePicture" }, 
    new { id = "frPeople" })) 
{ 
    @Html.ValidationSummary(true, "Problem during saving...") 
     <fr> 
    <h2> 
     Personal Details</h2> 
    <br /> 
     <legend>Person</legend> 
     <div class="editor-label"> 
      @Html.LabelFor(model => model.People.Title) 
     </div> 
     <div class="editor-field"> 
      @Html.EditorFor(model => model.People.Title) 
      @Html.ValidationMessageFor(model => model.People.Title) 
     </div> 
    <div class="editor-label"> 
     @Html.LabelFor(model => model.People.Description) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.People.Description) 
     @Html.ValidationMessageFor(model => model.People.Description) 
    </div> 

     <p> 
      <input id="saveMarker" type="submit" value="Save" /> 
     </p> 
} 

所以我使用的模型,如:

namespace MyProject.Models 
{ 
    public class Profile 
    { 
     public People People { get; set; } 
// I am also referencing other models here... 
    } 

    public partial class People 
    { 
     public int PeopleId { get; set; } 
     public Guid UserId { get; set; } 

     public string Title { get; set; } 
     public string Description { get; set; } 
// It has other attributes also... 
} 

而且控制器具有经典的帖子,并得到与JSON兼容的函数调用和更新页面。

我的问题是:我已经能够与TextBox的来处理这些操作,但我想添加一个预定义的DropDownList用其来进行保存/更新,也显示出了价值,如果它在数据库保存的记录。

你对如何处理这个问题有什么想法吗?

回答

1

这样的回答解释了如何使用DropDownLists相当不错的:如果你需要为DropDownList的那种字典数据 Create a Dropdown List for MVC3 using Entity Framework (.edmx Model) & Razor Views && Insert A Database Record to Multiple Tables

您可以创建包含您的PeopleClass一个视图模型和字典集合类的下拉列表:

public class EmployeeAddViewModel 
{ 
    public People people { get; set; } 
    public Dictionary<int, string> dropdownValues { get; set; } 
} 

或者您可以将集合分配给ViewBag变量。尝试阅读Q &上面链接,如果你会偶然发现一个问题:)

+0

谢谢你队友!有用 – MrGorki 2012-01-03 12:36:55

相关问题