有一个js方法,接收参数:
代码如下:
function f1(myValue){ alert(myValue); }
有一个变量:
代码如下:
var passValue="Hello World";
在调用这个方法的时候(我是出现在Ajax提交的时候):
@Ajax.ActionLink("文本","控制器",new{参数},new AjaxOptions(){ HttpMethod="post",OnSuccess="f1(PassValue)" })
这里注意最后的OnSuccess,如果直接把变量丢进去,会把变量认为是一个字符串
如果改成OnSuccess="f1("+PassValue+")"也不行
搜了一下是需要转义字符
OnSuccess="f1('"+PassValue+"')"
这样就没问题了
不过上面调用Ajax的时候没注意,这里只是为了给异步调用方法f1()传参数
所以就不用@Ajax了 改成普通A标签就可以了 不然会调用两次控制器
ps:js将方法作为参数调用
js调用 script> $().ready(function () { $.dialog = function (settings) { if ($.isFunction(settings.okCallback)) { if (settings.height == null) { if (settings.okCallback.apply() != false) { alert("1"); } } else { if (settings.okCallback.call(this, settings.height) != false) { alert("2"); } /* if (settings.okCallback.apply(this, arguments) != false) { alert("2"); } */ } } } }); script>