使用MVC3,C#和Razor View Engine:我有一个具有Ajax Action链接的表单.在选项中我试图指定OnBegin和OnComplete javascript函数调用.在这个问题中,我拿出了函数的内容并简单地添加了警报,以便我可以验证被击中的函数.我真正想要做的就是在ajax调用期间使用$ .blockUI.
相关代码如下所示:
@Ajax.ActionLink("my test link", "myAction", new { Controller = "myController" }, new AjaxOptions { OnBegin = "ajaxStart", OnComplete = "ajaxStop" })
<script type="text/javascript">
function ajaxStart() {
alert("start");
}
function ajaxStop() {
alert("stop");
}
</script>
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这两个函数永远不会被指定调用.我用括号和没有括号试过它,例如:
@Ajax.ActionLink("my test link", "myAction", new { Controller = "myController" }, new AjaxOptions { OnBegin = "ajaxStart()", OnComplete = "ajaxStop()" })
Run Code Online (Sandbox Code Playgroud)
都没有工作.
有任何想法吗?
谢谢,托尼
我正在使用C#,MVC3和Razor.
我有一个javascript函数(在视图中),在单击特定菜单项时调用.在这个函数中,我需要构建一个带参数的新URL(基于屏幕上的其他选择)并重定向到它.它希望它做这样的事情:
ValueA和ValueB是javascript部分中的变量,并使用值填充.
function doSomething(ID) {
location.href = "../Area/Controller/Action?ID=" + ID + "&ValueA=" + ValueA + "&ValueB=" + ValueB;
}
Run Code Online (Sandbox Code Playgroud)
但是,由于MVC的性质,我需要确保URL始终正确,无论用户如何访问该页面.我试过使用@ Url.Content("")(参见下一个代码块),但我遇到的问题是:
这是我想要做的一个例子,但是得到上面提到的错误:
function doSomething(ID) {
location.href = @Url.Content("~/Area/Controller/Action?ID=" + ID + "&ValueA=" + ValueA + "&ValueB=" + ValueB);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?有没有更好的办法?
谢谢,托尼