将C#函数输出结果分配给ASP.NET中的VXML变量

时间:2013-05-30 14:08:58

标签: asp.net vxml

我尝试用ASP .NET创建动态语音xml文档。

我在第一页ASP应用程序中得到一个变量: customerRecordId

<%
       int customerRecordId = GetNextAvaliableCustomerId();


 %>

我想将此参数发送到我的第二个vxml生成器页面: [ProcessAtServer.aspx]

<submit maxage="0" method="post"
                       next="http://localhost/ProcessAtServer.aspx"

/> 

默认情况下,vxml会提交所有标签,例如“已填充”。但不是我的变量 customerRecordId。

PS:我在提交时尝试名单:namelist = "customerRecordId" not worked.

如何将参数 customerRecordId 发送/传递到ProcessAtServer.aspx页面?

更多信息:

这是My ASP .NET的一般结构。我想要的是将函数GetNextAvaliableCustomerId的结果作为参数传递给发布请求[使用提交标签]

<script language="c#" runat="server">


 public int GetNextAvaliableCustomerId()
 {
    // Some Code
 }

</script>

<% Response.ContentType="text/xml"; %><?xml version="1.0" encoding="utf-8" ?>

<vxml version="2.0">

  <%-- This DOES NOT WORK. 
       GET COMPILATION ERROR "Compiler Error Message: CS1002: ; expected"  
  --%>
 <var name="customerRecordId" expr="<%GetNextAvailableCustomerId()%>"/> 

<form>

    <field name ="option">

         // SomeCOde          
        <submit maxage="0" method="post"
                           next="http://localhost:49368/ProcessSurveyResult.aspx"
                           namelist ="option"
        />

        // Some code
</filled>
</form>
</vxml>     

1 个答案:

答案 0 :(得分:1)

customerRecordId 放入名单将无效,因为它不是vxml的一部分。尝试这样的事情:

<var name="customerRecordId" expr="<% =GetNextAvailableCustomerId() %>" />

然后,您可以使用 submit 元素中的 namelist 属性在查询字符串中传递变量。

如果您不熟悉VoiceXML以及如何使用ASP.NET生成动态页面,我建议您查看开源项目VoiceModel。项目中有很多例子可以帮助您入门。