MVC2中局部视图中的Javascript

时间:2013-09-19 03:12:57

标签: javascript asp.net-mvc-partialview

我在我的项目中使用MVC2。我在“.aspx”页面中有此代码,用于确定是否应显示“.ascx”页面:

<% if(Model.MRxECG != null) { %>
                     <div id="ecg">
                        <% Html.RenderPartial("ecgDetails", Model); %>
                    </div>
                     <% } %>

这是“.ascx”页面中的代码。

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Intranet.Models.CareRecord.CareRecordSummaryModel>" %>

<script type="text/javascript">

    function resImage(image)
    {
        var resize = 200; // amount in percentage
        var oldheight  = 150;  // height of your image
        var oldwidth  = 250; // width of your image
        var X = event.x;
        var Y = event.y;
        var newHeight   = oldheight * (resize / 100);
        var newWidth   = oldwidth * (resize / 100);

        image.style.height = newHeight;//height of new image
        image.style.width  = newWidth;// width of new image

        var c = image.parentNode;

        c.scrollLeft = (X * (resize / 100)) - (newWidth / 2) / 2; //this is for 
        c.scrollTop  = (Y * (resize / 100)) - (newHeight / 2) / 2;//new center
}
    </script>

<div>
    <table class="layout" width="900px">
        <tr>
            <td>
             <img src='<%= Url.Action("ShowMRx12LeadImage", "CareRecord", new { id = Model.CareRecord.CaseNumber}) %>'
                                                        alt="12-Lead ECG" style="width: 1000px; height: 800px;" onmouseover="resImage(this)" />
            </td>
        </tr>
    </table>
</div>

图像不会缩放鼠标悬停事件。我尝试将Javascript代码放在“.aspx”页面中,但是它没有用。我应该怎么做才能使这项工作?

我不确定Javascript是否可以在.ascx页面中运行。我是否必须使用jQuery来实现放大功能?

1 个答案:

答案 0 :(得分:0)

image.style.height应该是具有指定维度(px)的字符串,而不是数字。

考虑更改这些行:

image.style.height = newHeight + 'px';//height of new image
image.style.width  = newWidth + 'px';// width of new image

有一个onmouseoverhttp://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onmouseover的示例,您可以在此处尝试它是如何工作的。