从Javascript调用方法

时间:2013-09-12 13:18:26

标签: javascript html asp.net vb.net dynamic

我有一个ASP网页,我试图在...中编写一些javascript。

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

这是我想要做的一个例子:

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

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

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

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

    <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中不可能吗?如果没有,你能建议一个更好的方法吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

应该是:

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

注意'='符号。

答案 1 :(得分:1)

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

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

您还必须在页面中添加Scriptmanager。

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