2017-01-31 8 views
0

приветствие снова ребята. Сначала я прочитал более 20 сообщений по этой теме и по крайней мере 15 ссылок на обмен колл, а также задал 5 вопросов по поводу этого.Заполнение частичных изображений с использованием mvc

Сначала я просто хочу знать, может ли mvc заполнить частичный вид динамическими данными во время создания? Если нет, то то, что я подозревал, было правильным. Это может быть только в веб-формах, и я могу отказаться от этого приложения mvc и просто использовать веб-формы.

Если возможно, кто-то может показать, как это сделать. Здесь снова все, что у меня есть.

о том, с частичным кодом вида под названием

_PartVue, который хранится в общей папке Mvc кода за папки эта часть просмотра была построена с помощью мастера

<table cellpadding="1" border="1"> 
    <tr> 
     <th> 
      Field1 
     </th> 
     <th> 
      Field2 
     </th> 
     <th> 
      Field3 
     </th> 

    </tr> 

    @foreach (System.Models.DATA_LIST item in @ViewBag.List) 
    { 
     <tr> 
      <td> 
       @item.F1 
      </td> 
      <td> 
       @item.F2 
      </td> 
      <td> 
       @item.F3 
      </td> 
     </tr> 
    } 

</table> 

В окне Создать

Это место, где я хочу, чтобы частичный вид отображался на форме создания

 <div class="col-sm-6"> 

      <div class="form-horizontal" style="display:none" id="PV_List"> 

       @{ Html.RenderAction("ShowList",);} 


      </div> 
     </div> 

код Java Script в создании представления для списка, чтобы показать после падения вниз изменяется

$(document).ready(function() { 
     $('#RES_ID').change(function() 
     { 
      debugger; 

      $.get('~/Views/Shared/_PartVue.cshtml', { VID: $(this).val() }, function (data) { $('#PV_List').html(data); }); 
      $("#PV_List").show(); // Shows Partial View 


     }); 
    } 

в контроллере у меня есть функция, которая делает список и функцию, которая использует что-то называется возвращение PartialView:

[HttpGet] 
    public ActionResult ShowList(int? VID) 
    { 


     ViewBag.DataList = Get_List(VID); 
     return   PartialView("~/Views/Shared/_PartVue.cshtml",ViewBag.DataList); 


    } 

Также Get Список функция, которая заполнит данные вид сумки

private List<LIST_DATA> GET_List(int? VID) 
    { 

     return db.LIST_DATA.Where(i => i.ID == VID).ToList(); 
    } 

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

Вот что я получаю.

В браузере Google я получаю следующее сообщение об ошибке: http://localhost:50296/PrograX/~/Views/Shared/_PartVue.cshtml?VID=808 Не удалось загрузить ресурс: сервер ответил со статусом 403 (Forbidden)

Этот частичный вид находится в общей папке ... так MVC что я не могу заполнить частичный вид динамическими данными и что мне нужно использовать веб-формы вместо того, чтобы пытаться использовать mvc?

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

+0

Вам нужно для удаления и редактирования [предыдущего вопроса] (http://stackoverflow.com/questions/41967954/how-do-you-pass-a-viewbag-to-a-partial-view).Перед тем, как задать дополнительные вопросы, внимательно прочитайте [файлы справки] (http://stackoverflow.com/help), чтобы понять, как задать вопрос на этом сайте (опасно для вас, чтобы получить запрет). –

+0

Привет @StephenMuecke, что вы имеете в виду? Мне нужно удалить вопросы? Зачем ты меня запрещаешь? –

+0

Я не могу вас запретить, но система будет из-за вас бедных (проголосовавших) вопросов. И вы не можете просто повторять вопросы. Отредактируйте предыдущий с соответствующими данными, как я просил, или удалите предыдущий. –

ответ

0

Прежде всего, Вы можете указать, какую модель вы хотите использовать в вашей частичное представление, как это:

@model List <YourSolutionName.YourFolderNameWhereModelIs.YourModelName> 

, то вы можете использовать его в Еогеасп следующим образом:

@if(Model.Count > 0) 
{ 
foreach(var item in Model) 
{ 
     <tr> 
      <td> 
       @item.F1 
      </td> 
      <td> 
       @item.F2 
      </td> 
      <td> 
       @item.F3 
      </td> 
     </tr> 
    } 
} 
+0

Привет и спасибо, сэр .. Да, это то, что я закончил делать, поскольку я не знал, что вы могли бы иметь инструкции If в коде HTML. Большое спасибо за вашу помощь, сэр! –

+1

Добро пожаловать! MVC имеет крутую кривую обучения. И не забудьте отметить комментарий как «Ответ», это поможет всем остальным искать то же самое. –