2013-02-11 5 views

ответ

0

These перегрузка для RenderPartial

 1.RenderPartial(HtmlHelper, String) 

Оказывает указанный частичный вид, используя указанный вспомогательный HTML.

 2. RenderPartial(HtmlHelper, String, Object) 

Оказывает указанный частичный вид, передавая ему копию текущего объекта ViewDataDictionary , но со свойством модели, установленной в указанной модели.

 3. RenderPartial(HtmlHelper, String, ViewDataDictionary) 

Отображает указанный частичный вид, заменив его свойство ViewData с указанного объекта ViewDataDictionary.

 4. RenderPartial(HtmlHelper, String, Object, 
 ViewDataDictionary) Renders the specified partial view, replacing 
      the partial view's ViewData property with the specified 
      ViewDataDictionary object and setting the Model property of the view 
      data to the specified model. 
1

Да, вы можете использовать переменную в качестве параметра путь, когда представление визуализируется на сервере.

@{ 
    string path = "foo/bar"; // a path which the view engine can locate 
} 

<div> 
    @{ Html.RenderPartial(path); } 

    @* OR *@ 

    @Html.Partial(path) 
</div> 

Поскольку вопрос также с тегами JavaScript, я укажу, что вы не можете смешивать Razor (сервер) рендеринга с клиентом (JavaScript) исполнения. Однако вы можете легко вызвать контроллер с помощью AJAX (и передать его независимо от того, какие данные вы хотите), и этот контроллер может вернуть визуализированное представление.

Смотрите также: Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction

+0

Итак, я не могу использовать функцию Javascript, чтобы вернуть строковый путь к Razor, правильно? Это также означает, что я не могу использовать переменную экземпляра «путь», где я буду получать путь от JavaScript. – user1778595

+0

Правильно. Тем не менее, вы можете передать свою переменную JavaScript в контроллер с запросом AJAX, и контроллер вернет вам другое/настроенное представление. –

+0

Я пробовал, но AJAX не работал. – user1778595

0

Используйте перегрузку: RenderPartial(HtmlHelper, String, Object)

Eg.

@{Html.RenderPartial("PartialViewName", new { filePath = model.FilePath});}