gpt4 book ai didi

asp.net-mvc - IVR 与 Asp.net MVC : How can I stop reinventing the browser?

转载 作者:行者123 更新时间:2023-12-01 04:19:42 24 4
gpt4 key购买 nike

我正在为一个项目制作 IVR 系统,并决定使用 Twilio处理电话部分(调用和接听电话,发送和接收短信)。这将显示一个带有 IVR 前端的网站,允许用户使用他们的按键式电话浏览该网站。

我并没有让所有内容都可以通过电话浏览,这只是有意义的。

Twilio 通过查询字符串或通过 POST 向您的 URL 发送参数,然后您使用一个特殊的 XML 子集进行响应,该子集告诉 IVR 如何操作。我使用 ASP.net MVC 很快取得了很大进展,将 Twilio XML 内容视为 View 并将站点数据呈现给它。

以下是对 Twilio 的响应:

<?xml version="1.0" encoding="UTF-8" ?> 
<Response>
<Say>Hello World</Say>
<Play>http://api.twilio.com/Cowbell.mp3</Play>
</Response>

以下是 Twilio 的菜单外观:
<?xml version="1.0" encoding="UTF-8" ?> 
<Gather action="http://your_url" numdigits="1">
<Say>Press 1 to execute your_url, passing a parameter named "digits"</Say>
</Response>

这是我卡住的地方:

我正在尝试添加一个通用的“后退”按钮,也许是一个“跳过”按钮,一个“重复”按钮等,我发现在每个 View 中,我检测到按下的数字,然后 if-ing到硬编码 Response.Redirect() .我知道对于大量 View 和菜单,这将很快变得无法维护。

那么,如何对 MVC 应用程序进行建模,使其更像一个应用程序而不是 Zork 游戏呢? Menu 对象的堆栈,每个对象都有 MenuItem 对象的列表?如何让“9”成为“返回”的通用选项并让应用程序尊重它,无论用户在菜单系统中的哪个位置,而无需在每个 View 中为其编码?

如果我现在不花点时间正确设计它,后面的功能只是这个项目将陷入困惑的症状。有没有我可以检查想法的 .net IVR 框架?任何帮助将不胜感激,我知道这不是一个新问题,我似乎无法理解最佳路径。

最佳答案

虽然我几乎不知道你在说什么,因为到目前为止没有人说什么我会开枪的(如果我完全不在这个方向,请不要开枪)。

在 MVC 2 中,您可以在 View 中呈现操作:

<%= Html.Action("home", "menu" , new { someparam = somevalue, someotherparam = someothervalue }) %>

这将调用 Menu您的 Home 中的操作给定参数的 Controller 。 Result这个 Action然后将插入到您的 View 中。
这样,您可以保持 View 干净,并将所有菜单内容集中在一个地方。只需在每个 View 中添加上述行。

同样可以使用 HtmlHelper 来完成。的,但有时上述方式更容易。

关于asp.net-mvc - IVR 与 Asp.net MVC : How can I stop reinventing the browser?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2402347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com