我能有這樣的事情:我可以在HTML.PartialRender()中有變量嗎?
@{HTML.PartialRender(variable);} // where variable will be a path of a file
我能有這樣的事情:我可以在HTML.PartialRender()中有變量嗎?
@{HTML.PartialRender(variable);} // where variable will be a path of a file
These是超載了的RenderPartial
1.RenderPartial(HtmlHelper, String)
渲染通過使用指定的HTML幫助指定的局部視圖。
2. RenderPartial(HtmlHelper, String, Object)
呈現指定 局部視圖,通過它的當前的ViewDataDictionary 對象的副本,但與模型屬性設置爲指定的模型。
3. RenderPartial(HtmlHelper, String, ViewDataDictionary)
呈現 指定局部視圖,其中 指定的ViewDataDictionary對象替換其ViewData的屬性。
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.
是的,你可以使用一個變量作爲path參數視圖時在服務器上呈現。
@{
string path = "foo/bar"; // a path which the view engine can locate
}
<div>
@{ Html.RenderPartial(path); }
@* OR *@
@Html.Partial(path)
</div>
由於問題也標記用JavaScript,我要指出,你不能混用剃鬚刀(服務器)與客戶端(JavaScript)的執行渲染。但是,您可以使用AJAX輕鬆調用控制器(並將其傳遞給您想要的任何數據),並且該控制器可以返回呈現的視圖。
參見:Html.Partial vs Html.RenderPartial & Html.Action vs Html.RenderAction
使用過載:RenderPartial(HtmlHelper, String, Object)
EG。
@{Html.RenderPartial("PartialViewName", new { filePath = model.FilePath});}
所以,我不能使用Javascript函數,返回一個字符串路徑到剃刀,對不對?這也意味着我不能使用「路徑」實例變量,我將從JavaScript獲取路徑。 – user1778595 2013-02-11 14:51:15
正確。但是,您可以通過AJAX請求將您的JavaScript變量傳遞給控制器,並讓控制器返回您不同的/自定義的視圖。 – 2013-02-11 14:57:56
我試過了,但AJAX無法正常工作。 – user1778595 2013-02-11 17:01:30