Razor 从客户端事件调用ms网页中的自定义@helper方法
我有一个myPage.cshtml页面。我已经在myHelper.cshtml中编写了@helper方法(myMethod())。我可以在页面中内联调用helper方法(@myHelper.myMethod();),它工作得很好Razor 从客户端事件调用ms网页中的自定义@helper方法,razor,webmatrix,Razor,Webmatrix,我有一个myPage.cshtml页面。我已经在myHelper.cshtml中编写了@helper方法(myMethod())。我可以在页面中内联调用helper方法(@myHelper.myMethod();),它工作得很好 如何从用户启动的事件(menu.item.click,button.click,link click)调用相同的方法 因为您的方法是在服务器端代码中执行的,所以您必须创建一种从客户端在服务器上调用代码的方法。例如,您可以有如下操作方法: [HttpPost] publi
如何从用户启动的事件(menu.item.click,button.click,link click)调用相同的方法 因为您的方法是在服务器端代码中执行的,所以您必须创建一种从客户端在服务器上调用代码的方法。例如,您可以有如下操作方法:
[HttpPost]
public ActionResult MyHelperCaller()
{
// Returns the contents of the 'myHelperCaller' view:
return this.View();
}
…其中myHelperCaller
视图包含对myMethod()
helper方法的调用
然后,要从客户端调用它,您可以使用类似以下内容:
<div id="myHelperTarget"></div>
<input id="myHelperTrigger" type="button" value="Call MyHelper" />
<script language="text/javascript">
$("#myHelperTrigger").click(function () {
// Loads the myHelperCaller view into the myHelperTarget div:
$("#myHelperTarget").load("/MyController/MyHelperCaller");
});
</script>
$(“#myHelperTrigger”)。单击(函数(){
//将myHelperCaller视图加载到myHelperTarget div中:
$(“#myHelperTarget”).load(“/MyController/MyHelperCaller”);
});
非常感谢您的意见!我正试图用“网页”编程模型来实现这一点,所以我实际上没有模型、视图和控制器本身来处理,只有页面,在这个模型中有什么方法可以做到这一点吗?啊,好的!很公平-我认为同样的答案也适用-你可以有一个网页,它除了调用你的helper方法之外什么都不做,然后让你的JQuery函数调用它,比如.load(“/myHelperCaller.cshtml”)
。是的,它可以工作,1]myHelperTrigger按钮调用2]my客户端javascript,在新窗口中打开3]myHelperCaller.cshtml页面(该页面仅包含对myHelper.myMethod()的调用,并且执行得非常完美),现在的问题是,我必须解决隐藏新窗口的问题,并且假设myMethod有任何参数,我也必须沿着链传递这些参数(也可以),但我只是觉得我正在用大锤敲击图钉,或者缺少明显的参数,以便更简洁地完成此操作。。。再次感谢史蒂夫的创意,我真的很感激!耶!很高兴它成功了-在JQuery包装的分区上调用.load()
函数应该将结果加载到该分区中,而不是在新窗口中打开它。。。如果我的回答有帮助,你能接受吗?:)非常感谢你的提问。。。我也经历过同样的问题,几周来一直没有任何运气,但多亏了这个问题(和答案),我想我可以让它工作。