1

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

提前致谢。

4

2 回答 2

1

它应该是:

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

请注意“=”符号。

于 2013-09-12T13:21:31.607 回答
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();
}
于 2013-09-12T13:22:40.280 回答