从JQuery调用controller-action时出错

时间:2011-02-10 16:55:15

标签: jquery asp.net-mvc-2

我在我的母版页中有这个电话:

$.ajax({
                    type: "POST",
                    url: "<%= Url.Action("CreateTermSheet", "Indications") %>",
                    data: GetJSONForID(),
                    success: function(data) {
                        alert('Success!');
                    }
                });

但是当我去加载页面时它没有渲染,我得到了这个编译错误:

CS0103:当前上下文中不存在名称“Url”

怎么了?我在我的应用程序中的其他地方完全没问题。

2 个答案:

答案 0 :(得分:0)

此错误表示您的观点未引用System.Web.Mvc。它应该由Visual Studio自动添加。检查<system.web>/<pages>

视图 Web.config(项目目录/视图/ Web.config)中的参考
<controls>
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>

答案 1 :(得分:0)

确保您的母版页是MVC母版页,即它继承自System.Web.Mvc.ViewMasterPage而不是System.Web.UI.MasterPage

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>

然后,您将拥有Url属性及其各自的Action方法。