在ASP.NET中,我会有一个ascx控件,它会在自己的Load()方法中调用Scriptmanager.RegisterClientScriptBlock
。
我有一个像
这样的javascript块 var myObject = CreateNewMyObject(param, param, param...);
这将是我的javascript库中的一个方法,可以在页面上创建控件。
然而在MVC中我从未这样做过,所以我不确定该怎么做。
我可以调用@(this.Html.RenderMyObject(param,param))之类的方法,它将返回完全呈现的html,但我想按上述方式执行 - javascript函数呈现html。
我应该从这样的方法返回var myObject = CreateNewMyObject(param, param, param...);
,还是有更好的方法?
答案 0 :(得分:1)
我认为使用MVC的想法,特别是使用Razor,就是你可以根据需要使用Javascript。如果我理解你的问题,你可以直接在Razor页面的onLoad javascript函数中调用你的javascript函数。
<script type="text/javascript">
$(function () {
myMethodCall();
</script>
但是,如果您的javascript所做的唯一事情是绘制一个控件,我建议您创建一个像您在问题中提到的@HTML Helper。