Частичные виды бритвы MVC3 - PullRequest
       9

Частичные виды бритвы MVC3

1 голос
/ 09 февраля 2012

Я использую бритву MVC3 и в папке Views у меня есть 4 папки:

Общий

  • _Layout.cshtml

Folder2

  • Index.cshtml
  • UploadFile.cshtml

uploadFile является частичным представлением для index2.cshtml для folder2s

folder3

  • Index.cshtml
  • _list.cshtml

Folder4

  • Index.cshtml
  • _CreateFile.cshtml

Я новичок в MVC3, поэтому у меня нет сложного вопроса

Как я могу использовать UploadFile.cshtml в _list.cshtml и _createFile.cshtml Мне нужна та же функция в других папках, которая находится в UploadFile.cshtml

в UploadFile.cshtml У меня есть

     <script type="text/javascript">
    function createUploader() {
        var uploader = new qq.FileUploader({
            element: document.getElementById('FileUploader'),
            action: 'Chat/FileUpload',
            debug: true
        });
    }
    window.onload = createUploader;     
</script>   
        <div id="FileUploader">     
    <noscript>          
        <p>Please enable JavaScript to use file uploader.</p>
    </noscript>         
</div>

и я хочу использовать этот загрузчик в разных местах, не таких как @ Html.Action

как @ Html. Частично или что-то в этом роде

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Переместить частичное в каталог /Views/Shared.Это сделает его доступным из любого места.Вы можете использовать его с Html.Partial.

1 голос
/ 09 февраля 2012

Вы можете выполнить какое-либо действие в вашем контроллере, которое возвращает ваше частичное представление UploadFile, а затем вызывать его из любого места, например так:

@Html.Action("UploadFileAction", "Folder2Controller", params)

Также обратите внимание, что рекомендуется начинать имена частичных символов с подчеркиваниякак _UploadFile.Это делает ваши источники более заметными для других людей.

В противном случае, если вам не нужны действия, вы можете просто вызвать частичное представление с помощью метода Html.Partial.Я не проверял, но это должно работать

@Html.Partial("~/Views/Folder2/UploadFile.cshtml", model)
...