0

我有一个提供的托管应用程序,它托管在 Azure 中并部署在 SharePoint 站点中。我们在 Provider Hosted 应用程序中创建了 Web 部件。

此 Web 部件使用在提供商托管应用程序中创建的标记呈现页面 (StartPage.aspx),如下所示。

注意:StartPage.aspx 位于提供商托管的应用程序中。

这意味着,StartPage.aspx 是从 Azure 浏览的,因为提供商托管的应用程序托管在 Azure 应用程序服务中。

<ClientWebPart Name="WebPart" Title="Title" Description="Description" DefaultWidth="1000" DefaultHeight="1000" >
    <Content  Type="html" Src="~remoteAppUrl/Pages/StartPage.aspx?{StandardTokens}" Location="" />
<Properties>
</Properties>

尝试在桌面、Android/Windows 设备中浏览时,它按预期工作,但在尝试在 IOS 设备上工作时,它无法正常工作。

我们在 .ascx 文件中编写代码并将该文件连接到 .aspx 页面,我们在 WebPart 代码中引用 .aspx 页面,如上所述。

下面是为每个不起作用的文件添加的代码: //StartPage.aspx 的代码

<%@ Page Title="Test" Language="C#" ClientIDMode="Static" EnableViewState="true" AutoEventWireup="true" CodeBehind="StartPage.aspx.cs" Inherits="Web.Pages.StartPage" %> < %@ 注册 Src="~/UserControls/MyTasks.ascx" TagPrefix="uc1" TagName="MyTasks" %>

<html >
<head>
    <title> Test Working </title>
    <meta http-equiv="X-UA-Compatible" content="EDGE" >
    <meta name="viewport" content="width=device-width, initial-scale=1.0" > 
</head>
<body>
    <form id="form1" runat="server">
        <div> 
            <uc1:MyTasks runat="server" ID="MyTasks" />
        </div>
    </form>
</body>
</html>

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="MyTasks.ascx.cs" Inherits="UserControls.MyTasks" %>

<div>
<ol>
      <li>Coffee1</li>
      <li>Tea1</li>
      <li>Milk1</li>
    </ol>

    <label>Category</label>
    </div>

由于 Web 部件正在呈现 StartPage.aspx,因此它在 Web 部件内的 iframe 中打开它。似乎 iframe 没有按预期在 iOS 设备中加载。

据我们了解,要呈现 StartPage.aspx,SharePoint 会调用此页面 (sitecollection/_layouts/15/appredirect.aspx?redirect_uri=hostname/StartPage.aspx)。因此,它重定向到 appredirect.aspx,然后重定向到查询字符串参数中提到的 StartPage - “redirect_uri”。

我们目前正在开发 .NET 框架版本 4.7.2。我们也尝试更改版本,但问题存在。

如果您对此有任何解决方案,请告诉我们。

4

0 回答 0