从客户端事件调用ms网页中的自定义@helper方法

时间:2011-06-08 17:41:15

标签: razor webmatrix

我有一个myPage.cshtml页面。我在myHelper.cshtml中编写了一个@helper方法(myMethod())。我可以在页面中调用内联的辅助方法(@ myHelper.myMethod();)并且它可以正常工作。

如何从用户启动的事件(如menu.item.click,button.click,链接点击)调用相同的方法?

1 个答案:

答案 0 :(得分:0)

因为您的方法在服务器端代码中执行,所以您必须创建一种从客户端调用服务器上的代码的方法。例如,您可以使用这样的操作方法:

[HttpPost]
public ActionResult MyHelperCaller()
{
    // Returns the contents of the 'myHelperCaller' view:
    return this.View();
}

... myHelperCaller视图包含对myMethod()辅助方法的调用。

然后从客户端调用它,你会使用类似的东西:

<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>