2012-05-05 81 views
0

我的工作,我再壓縮大多數我的javascript的靜態文件的做法,然後將每個視圖具有這樣的事情:如何在佈局中直接獲取視圖模型?

@section Script 
{ 
    @Html.Action("MinifyJavaScript", "Resource", new { viewPath = "~/Views/User/Register.Js.cshtml", model = Model }) 
} 

這反過來又顯示JavaScript的微小的,非靜態,件碼,像下面的一個:

@model UserRegisterModel 
<script> 
    (function ($, b) { 
     $(function() { 
      b.views.user.register('@Url.Action("ValidateInput", "User")'); 
     }); 
    })(jQuery, bruttijjimo); 
</script> 

這使我在視圖中緩存的javascript更重,​​因爲只有與該模型改變部分可以改變(並且通常被視爲局部視圖)

現在我想要 通過消除佈局部分的需要來進一步升級這種做法,並且按照慣例,在視圖之後立即呈現javascript局部視圖(它與視圖相同的模型)。我已經創建了在視圖中壓縮javascript的方法。還有一個約定,javascript的視圖必須位於.js.cshtml文件中,並與視圖共享模型。

我需要的是從佈局中獲取視圖的模型以及視圖的名稱,並將其呈現在那裏。

這隻適用於實際視圖或需要實際視圖,因爲部分使用腳本管理器,如果他們需要發出JavaScript。

因此:如何從佈局中抓取模型的視圖?其餘我可以弄清楚,但這一個是躲避我..

回答

0

所以:我怎樣才能從佈局抓住模型的視圖?

@Model應該給你你在找什麼。

這就是說我並不完全理解你在做什麼,但事實上你的視圖中有javascript,而不是在一個單獨的JavaScript文件中,並將緩存內容留給瀏覽器,並重新創建了一些輪子感覺不對。

+0

這就是要點,所有我在我的意見中的JavaScript是一個單獨的腳本文件的調用,現在我想要刪除該耦合,並有一個很像「控制器應該在'控制器'結束」的約定,我在哪裏根本不需要在HTML視圖本身中引用該腳本行。 – bevacqua

+0

我甚至沒有嘗試'@ Model',假設它是佈局的模型,謝謝。 – bevacqua

相關問題