所以,我正在开发一个混合的web app/mvc应用程序。尝试在MVC中做所有新的事情,并在有时间或需要时慢慢地更改一些旧的webforms部分。使用Razor。
目前,我正在尝试将一些旧的javascript引入mvc页面,但我在使用ServiceReferences时遇到了一些问题。有没有办法让这些在Razor中工作,我真的不想重写这个js文件,看起来大概有1500行。
我有参考资料
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/4.0/1/MicrosoftAjax.js"> </script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/2.0/MicrosoftMvcAjax.js"></script>我猜一定有某种方法可以在某个地方写下这个注册?在webForms中,它是这样工作的,以供参考:
<ajaxToolkit:ToolkitScriptManager ID="cnvScriptManager" EnablePartialRendering="true" ScriptMode="Release" LoadScriptsBeforeUI="true" CombineScripts="true" CombineScriptsHandlerUrl="~/CombineScriptsHandler.ashx" runat="server">
<Services>
<asp:ServiceReference Path="~/ux/controls/util.asmx" />
<asp:ServiceReference Path="~/ux/controls/menu/menu.asmx" />
<asp:ServiceReference Path="~/ux/controls/menu/list.asmx" />
<asp:ServiceReference Path="~/ux/controls/menu/tag.asmx" />
<asp:ServiceReference Path="~/ux/controls/canvas/filter/filter.asmx" />
<asp:ServiceReference Path="~/ux/controls/canvas/export/export.asmx" />
</Services>
</ajaxToolkit:ToolkitScriptManager>然后在js中,你可以做这个无意义的魔术:
Xyz.Api.ListUXService.Fill(listParams, onFillListSuccess, onFailure, List);我很想有时间把它转换成jQuery和MVC,但是,我没有:)
发布于 2011-11-12 05:07:51
在您的razor视图中添加对局部视图的引用,此局部视图应使用webforms视图引擎创建
<body>
@Html.Partial("_ScriptManager")
</body>然后把你的scriptmanager放在这个局部视图中
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<form id="form1" runat="server">
<ajaxtoolkit:toolkitscriptmanager id="myScriptManager" enablepartialrendering="true"
scriptmode="Release" loadscriptsbeforeui="true" combinescripts="true" combinescriptshandlerurl="~/CombineScriptsHandler.ashx"
runat="server">
<Services>
<asp:ServiceReference Path="~/ux/controls/util.asmx" />
<asp:ServiceReference Path="~/ux/controls/menu/list.asmx" />
<asp:ServiceReference Path="~/ux/controls/menu/tag.asmx" />
<asp:ServiceReference Path="~/ux/controls/canvas/dialogs.asmx" />
</Services>
</ajaxtoolkit:toolkitscriptmanager>
</form>现在,在所有MVC纯粹主义者发疯之前,我想补充说,我不建议这样做,这与mvc背道而驰,但它是有效的,如果您没有时间更改大量遗留代码,这里有一个解决方案。
https://stackoverflow.com/questions/7113495
复制相似问题