我正在计算浏览器的屏幕尺寸,并将其存储在隐藏字段中,并根据尺寸在OnInit()页面上动态创建控件。但是OnInit()在触发javascript函数以计算屏幕尺寸之前被触发。
有任何想法吗?
最佳答案
在我看来,您引用的OnInit
方法在ASP.NET页面加载周期中是OnInit
方法。由于JavaScript是客户端(即在浏览器上运行),而C#/ ASP.NET是服务器端(即在IIS内的服务器上运行),因此始终会在运行任何javascript函数之前触发它。
您选择的方法需要两个周期:首先是请求页面,然后可以使用JavaScript方法设置隐藏字段。然后,该页面会自动回发到服务器,然后您可以计算商品的高度和宽度。
但是,无论现在还是将来,这种方法都会给您带来很多麻烦。通常最好仅在客户端上解决依赖于浏览器视口(您所说的大小)的布局问题。 CSS是一个很好的起点。如果CSS无法解决,请使用jQuery(或alternatives)。
关于c# - 如何在OnInit()之前调用JavaScript函数-ASP.NET,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3797653/