我正在將一個ASP.NET Forms應用程序(我沒有寫入)轉換爲一個MVC 3應用程序。 ClientScriptManager用於舊應用程序。 ClientScriptManager在MVC 3中不存在。什麼取代了ClientScriptManager?我已經做了足夠的閱讀,知道CSM與ASP.NET中的AJAX功能有關;它註冊了js腳本和函數的「集合」,有點類似於EditorTemplates如何爲類似的控件集合工作。我不一定希望在MVC中實現CSM;我只想知道微軟採取了哪些措施來使CSM過時。什麼取代MVC中的ClientScriptManager?
2
A
回答
3
ASP.Net MVC旨在爲您提供對HTML和js的完全控制,而不是像ASP.Net那樣爲您呈現這些內容。所以,沒有什麼能真正「替代」ClientScriptManager。因此,如何處理您的js完全取決於您。
你可以做一些簡單的像包括<script ...>
標籤來引用嵌入式腳本或JS文件在你_Layout.cshtml
文件,或者你可以使用某種形式的JavaScript裝載機像RequireJS或拿出自己的方案,完全使用「HTML輔助」或一些東西。
MVC 4介紹bundling的概念,它可以讓你定義腳本的集合稱爲「捆綁」,並有MVC自動運行如下,當你在瀏覽中引用它們像這樣把它們合併起來給你:
@Scripts.Render("~/bundles/jquery")
+0
我的問題確實不是很好,但你給我我正在尋找的答案。獎勵!我沒有在MVC中尋找ClientScriptManager的實現,因爲我知道這不是正確的方法。我最終將C#控制器操作和
0
下面是一個從控制器渲染JavaScript(函數)的例子。
控制器
public ActionResult Index(int? id)
{
ViewBag.MyAlert = "<script type='text/javascript'>MyAlert();</script>";
}
查看
<script src="Your Path" type="text/javascript"></script>
@Html.Raw(ViewBag.MyAlert)
JS
function MyAlert() {
alert('Hi');
}
下面是從Controller中呈現JavaScript(File)的示例。
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script src='Your Path' type='text/javascript'></script>");
filterContext.HttpContext.Response.Write(sb.ToString());
}
所以使用這種方法你不需要在View中提到下面的代碼。
<script src="Your Path" type="text/javascript"></script>
相關問題
- 1. 什麼是ASP.NET MVC中Controller.ReadFromRequest的替代?
- 2. 什麼取代了函數式編程中的MVC模式?
- 3. 什麼取代XYGraph.dll?
- 4. 什麼是MVC的替代方案?
- 5. 什麼取代2.0.3中的play.mvc.Mailer playframewrok?
- 6. 什麼取代MvcContrib中的[Obsolete] MvcRoute?
- 7. 什麼取代Python中的星號?
- 8. 調用從內使用ClientScriptManager
- 9. 與ClientScriptManager更新面板
- 10. 用什麼來代替OnActionExecuting? ASP.NET MVC
- 11. 什麼取代了BulletSharp.ContactAdded?
- 12. AVFoundation - 什麼是minFrameDuration取代?
- 13. 什麼取代了usbioctl.h?
- 14. 什麼取代了WearableListView.Adapter?
- 15. 什麼是在Firebase中取代authWithPassword?
- 16. 什麼是MVC 3中的ASCX代碼隱藏的等價物?
- 17. 使用Rhino Mocks創建ClientScriptManager的模擬
- 18. 什麼應該在ASP.NET MVC控制器的代碼中測試?
- 19. 爲什麼mvc驗證在我的代碼中不起作用?
- 20. Spark中此MVC視圖代碼的等效語法是什麼?
- 21. 什麼是MVC
- 22. 在MVC中,什麼是ViewModel?
- 23. 什麼取代.net中的代碼訪問安全
- 24. 什麼取代WinForms的FindControl c#
- 25. 什麼取代Java的sun.security包?
- 26. 什麼取代了Smarty的3
- 27. 什麼是winRT的ThreadAbortException取代
- 28. 在spring-mvc中獲取XML輸出的依賴是什麼?
- 29. 什麼是PHP中的MVC的例子?
- 30. Razor中的'_'代表什麼?
我有上一篇好文:跟隨[這裏](http://blog.baltrinic.com/software-development/dotnet/clientscriptmanager-functionality-for-mvc-part-1) – Aman 2013-03-27 17:16:27
潘卡,我現在選擇了一個答案。抱歉耽擱了。 – 2013-04-04 20:47:42
Aman,我已經閱讀過那篇文章,但那是朝着我不想去的方向發展 - 即在MVC中重新實現ClientScriptManager。對於一個非常簡單的問題,這是一個過於複雜的解決方案。 – 2013-04-04 20:49:03