【问题标题】:jQueryMobile, PhoneGap and ASP.NET MVCjQueryMobile、PhoneGap 和 ASP.NET MVC
【发布时间】:2011-10-11 17:53:18
【问题描述】:

我已经使用 jQueryMobile 和 ASP.NET MVC 框架构建了我的网页。现在,我需要使用 PhoneGap 将其发布到应用商店。我在某处读到PhoneGap 只支持HTML、CSS 和JavaScript。这是否意味着它不会接受我的 ASP.NET 页面?

更新1:

如果我使用纯 HTML 页面并使用 jQuery $.ajax 函数调用 Web 服务,那么我将如何确保页面的 head 部分被加载一次。我的意思是当只使用 HTML 页面时,如何创建母版页架构?

【问题讨论】:

    标签: jquery jquery-mobile cordova


    【解决方案1】:

    您的.asp 页面必须从应用程序远程托管。但是,您可以从您的应用程序中对 .asp 页面进行 AJAX 调用。从您的服务器检索数据(同域策略不适用于这种情况,因此您可以对任何您想要的域进行 AJAX 调用)。与大多数台式计算机一样,移动设备将无法解析 .asp 脚本,因为设备上运行的语言没有解释器。

    一个例子:

    $('#homepage_id').bind('pagecreate', function () {
        $.get('http://path.to.server/and/file.asp', function (data) {
            $('#homepage_id').find('[data-role="content"]').html(data);
        });
    });
    

    注意:上面的示例需要从您的服务器上运行的脚本输出有效的 HTML 标记,但大多数情况下最好从服务器输出 JSON 并将其解析为 JavaScript 代码中的有效 HTML 标记。

    更新 1:

    我会在应用程序的索引页面中包含所有必要的 JavaScript 功能,并为您的 AJAX 调用使用回调函数来“增强”从您的网络服务收集的代码。

    【讨论】:

    • 感谢您的回复!我在原始问题中添加了一个附加问题。
    • 什么 .asp 文件老兄?你迷路了! ASP.NET MVC != 古老的 ASP
    • @DotNetWise 我不熟悉任何 ASP 语言。 .aspx,对吗?它是否改变了我提供的答案(似乎没有,因为移动设备仍然无法解析它)?
    • ASP.NET MVC 没有您想象的 .aspx “页面”。而是由控制器返回/呈现的 .aspx/.cshtml 视图。所以你不能只导出视图供 PhoneGap 使用!
    • @DotNetWise 我在“所以你不能只导出视图供 PhoneGap 使用!”我不明白你的意思,但你应该能够在 MVC 视图中运行 PhoneGap JavaScript 函数。
    【解决方案2】:

    阅读此线程的任何人都可能想考虑删除 .NET MVC 并仅使用静态 .htm 文件。您可以通过可通过 jQuery 访问的简单 .ashx 文件调用您的 .NET 代码。传递 XML 或 JSON 并返回一个通用的 Dataset 对象。我已经这样做了多年,当我需要快速解决方案时,它为我提供了一个很好的解决方法。我什至不再关心中间层代码,而是更喜欢将我所有的业务规则放在 SQL Server 存储过程中,强烈推荐,并且在 PhoneGap 等移动平台上运行良好。

    【讨论】:

    • 高度不推荐。将来修改这种单一的解决方案是一场噩梦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多