从 Javascript 调用方法

Calling a method from Javascript

本文关键字:方法 调用 Javascript      更新时间:2023-09-26

我有一个ASP网页,我正在尝试用它编写一些JavaScript...

我想为函数的响应设置一个变量 - 它存储在我的代码隐藏 (page.aspx.vb) 中。

这是我正在尝试做的一个例子:

<script type='text/javascript'>
    var test ='<%GetTestName()%>'
</script>

我运行此页面 - 它确实调用了方法 GetTestName()...但不将变量"test"设置为响应。在动态视图中,我可以看到这行 JavaScript 现在说:

<script type='text/javascript'>
    var test =''
</script>

此方法在此 ASP 列表视图控件中多次使用 - 并且工作正常。例如:

    <ItemTemplate>
        <div class="rlvI" style="height:100px; width:100px; margin-top:0px; margin-left:5px; margin-right:5px; margin-bottom:25px; background-color:<%# GetRowColor(Container.DataItem)%>; color:white">
            <asp:Button ID="SelectButton" runat="server" CausesValidation="False" CommandName="Select" CssClass="rlvBEdit" Text=" " ToolTip="Select" />
             <asp:Label ID="measure" runat="server" Text='<%# Eval("measure")%>' />
            <br />
             <asp:Label ID="actualLabel" runat="server" Text='<%# String.Concat("A: ", Eval("actual"))%>' />
            <br />
            <asp:Label ID="budgetLabel" runat="server" Text='<%# String.Concat("B: ", Eval("budget"))%>' />
            <br />
        </div>
    </ItemTemplate>

这在javascript中是不可能的吗?如果没有,你能建议一个更好的方法吗?

提前谢谢。

它应该是:

<script type='text/javascript'>
    var test ='<%=GetTestName()%>'
</script>

请注意"="符号。

如果将

<System.Web.Services.WebMethod()>添加到函数签名中,则可以使用 PageMethods 从 javascript 调用该方法。

<System.Web.Services.WebMethod()>_
Public Shared Function MethodName()
    'dostuff
End Function

您还必须向页面添加脚本管理器。

<script language="javascript" type="text/javascript">
function functionName()
{
    PageMethods.MethodName();
}