【发布时间】:2009-05-21 10:20:15
【问题描述】:
我正在创建一个具有邮政编码查找功能的 ASP.NET MVC 应用程序。我从用户那里捕获邮政编码并将其发送到 Web 服务并返回一组地址。我想在 jQuery UI 对话框之类的东西中显示地址数组。然后,用户可以选择返回的正确地址并填充地址字段。这可以使用对话框吗?
【问题讨论】:
标签: jquery asp.net-mvc
我正在创建一个具有邮政编码查找功能的 ASP.NET MVC 应用程序。我从用户那里捕获邮政编码并将其发送到 Web 服务并返回一组地址。我想在 jQuery UI 对话框之类的东西中显示地址数组。然后,用户可以选择返回的正确地址并填充地址字段。这可以使用对话框吗?
【问题讨论】:
标签: jquery asp.net-mvc
您可以使用 jQuery 注入 HTML,然后弹出对话框,如下所示:
function displayAddressList() {
var url = '<%= Url.Action("List", "Address") %>';
$.get(url, function(data) {
$("#PopUp").html(data);
$("#PopUp").dialog('open');
});
}
HTML:
<div id="PopUp" title="Address List"></div>
因此,如果您的控制器中的后处理程序代码返回一个视图(一个控件),您可以注入它然后弹出对话框。
【讨论】:
您需要将数组格式化为 JSON 对象,然后使用 $.getJSON 读取它。使用数组的内容填充组合框很容易。
您可以在 UI 对话框中使用组合框 - 就像组合框始终可见一样。事实上,对话框只是被显示和隐藏的 DOM 的一部分。它与其他 DOM 元素没有任何不同。
【讨论】:
您可以考虑改用文本框控件,如 Ben Scheirman 的 "jQuery Auto-Complete Text Box with ASP.NET MVC" 文章中所述。
【讨论】: