2017-02-11 27 views
-1

У меня есть две модели «пользователь» (идентификатор, имя пользователя, адрес) и «продаж» (идентификатор, запечатленный, USERID)как добавить текстовое поле для модального с одного до многих отношениях

пользователь может иметь несколько продаж (один для многих отношений)

и я хочу добавить информацию о пользователе из формы бритвы mvc и также хочу отправить информацию о продажах контроллеру из моей формы.

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

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

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

Вот как я хочу отправить эту форму

Click Image to see

+0

См [этот ответ] (http://stackoverflow.com/questions/28019793/submit-same-partial-view-called-multiple -times-data-to-controller/28081308 # 28081308) для некоторых опций. И [этот ответ] (http://stackoverflow.com/questions/40539321/a-partial-view-passing-a-collection-using-the-html-begincollectionitem-helper/40541892#40541892) для более подробного примера, используя метод BeginCollectionItem –

ответ

0

Если вам нужно вставить мульти описания для каждого пользователя, я думаю, вы должны создать список скрытого ввода (я использую JQuery вы можете выбрать другой плагин или чисто JavaScripts)

<form> 
    <input id="username" name="username" /> 
    <input type="button" value="Add" id="btnAdd" /> 
    <table id="saleTable"> 
     <tbody></tbody> 
    </table> 
    <input type="submit" value="submit" /> 
    <div id="inputContainer"> 
    </div> 
</form> 

<script> 
    var index = 0; 
    $("#btnAdd").on("click", function() { 
     var saleDesc = $("#saleDesc").val(); 
     $("#inputContainer").append('<input type="hidden" value="' + saleDesc + '" name="Sales[' + index + '].Description" />'); 
     $("#saleTable tbody").append('<tr><td> ' + saleDesc + '</td></tr>'); 
     index++; 
    }); 
</script> 

код выше будет работать со следующими ViewModel

public class User 
{ 
    public long Id { get; set; } 
    public string Username { get; set; } 
    public List<Sale> Sales { get; set; } 
} 

public class Sale 
{ 
    public long Id { get; set; } 
    public string Description { get; set; } 
} 

И после того, как вы нажмете на кнопку Отправить Вы получите данные в контроллере

public ActionResult Receive(User model) 
{ 
    //Save data... 
    return View() 
}