Предварительно заполненные поля в частичном представлении создать
Всем привет,
Новое в разработке MVC. Изо всех сил пытаюсь загрузить частичное представление для "создания" с предварительно заполненными значениями полей из родительского представления.
В основном у меня есть основной вид, а внутри основного вида у меня есть частичный вид, который отображает сетку с кнопкой редактирования и кнопкой добавления.
Вот как я загружаю свое частичное представление в родительское представление.
var url = '@Url.Action("Index", "MyModel")'; $.ajax({ url: url , type: "get", success: function (data) { $('#partialPlaceHolder').html(data); $('#partialPlaceHolder').fadeIn('fast'); }, error: function (xhr, status, error) { alert(xhr.responseText); } });
Кнопку "Редактировать" вид нагрузки "редактировать" и "добавить" загружает "создать" вид, довольно стандартный проектирования MVC.
Но теперь моя главная проблема заключается в том, что я хочу предварительно заполнить представление "создать" при нажатии кнопки "Добавить" значениями из родительского представления. Таким образом, пользователям не нужно снова вводить в них значения.
Моя модель состоит из 3 предметов
public class MyModel { public int ID { get; set; } [DisplayName("My Note")] [Required(ErrorMessage = "Note cannot be left blank.")] public string MyNote { get; set; } [DisplayName("My Value")] [Required(ErrorMessage = "Value is required")] [StringLength(12, MinimumLength = 12)] public string MyValue { get; set; } [DisplayName("My List")] [Required(ErrorMessage = "Please select an item.")] public int MyList{ get; set; } public virtual MyListModel MyLists { get; set; } }
Когда нажата кнопка Добавить, я хочу, чтобы представление "создать" предварительно заполнило элемент "мое значение" и "мой список" из родительского представления и заполнило представление "создать" при его загрузке. Таким образом, пользователю нужно будет только заполнить текстовое поле "мои заметки" и нажать кнопку "Создать", чтобы сохранить изменения. Возможно ли что-то подобное? Любая помощь будет оценена по достоинству.
Ниже приведен код результата действия в контроллере my - Create.
Что я уже пробовал:
[ValidateAntiForgeryToken] [HttpPost] public ActionResult Create(MyModel mymodel) { try { if (ModelState.IsValid) { try { db.MyModel.Add(mymodel); db.SaveChanges(); //Populating droplist ViewBag.MyList = new SelectList(db.MyList, "ID", "MyText", mymodel.MyList); return Json(new { success = true }); } catch (Exception e) { throw e; } } return Json(new { success = false, responseText = ModelState.Keys.SelectMany(k => ModelState[k].Errors) .Select(m => m.ErrorMessage).ToList() }); } catch (Exception ex) { return Json(new { success = false, responseText = "Error creating new note. " + ex.Message }); } }