oauth-refresh-token 相关问题


登录使用 OAuth 2.0 协议的 MercadoLibre API 时如何解决“code_verifier 是必需参数”错误

我有 Mercado Libre API 的 Auth python 代码: url = 'https://api.mercadolibre.com/oauth/token' 有效负载 = {'grant_type': '授权代码', 'client_id':app_id, '


使用节点和护照未经谷歌oauth登录身份验证500

我正在使用passport-google-oauth 运行node.js。从我的 package.json 中: "passport-google-oauth": "~1.0.0", 我遵循了本教程:https://scotch.io/tutorials/easy-node-authentication-google 在...


React 应用程序如何连接到 OAuth 2 Spring 授权服务器/资源服务器/oauth 客户端后端

我已经实现了一个生成令牌的 OAuth 2 spring 授权服务器。端口4002 用于 api 调用的 spring 资源服务器。端口4003 一个 spring oauth 客户端,用于处理与


无法使用提供的颁发者解析配置:无法设置 OAuth 客户端

出于学习目的,我决定创建一个包含三个服务(Java 模块)的示例应用程序。 OAuth 2 授权服务器 资源服务器 OAuth 2 客户端 我没有...


Flutter 重定向 url,Salesforce oauth

我正在创建 Flutter 应用程序 (Android) 并向 Salesforce 进行身份验证 我将此包用于 oauth (授权代码授予流程),https://pub.dev/packages/oauth2_client 我有创造...


获取请求标头丢失(x-auth-token)以及如何返回流格式PDF?

我正在开发一个 POST API,它调用服务来返回 .pdf 文件的 url。 它返回{url、token 和其他字段}。我想重定向到这个网址并获取 pdf 文件,但失败了。 例子...


为 Google Cloud OAuth 凭证生成新的 SHA-1?

我有一个 Firebase 项目,使用位于 ~/.android/debug.keystore 的 Android 调试 SHA-1 进行身份验证。我删除了该项目,并在尝试创建 OAuth 2.0 凭证后意识到......


UPS OAuth 2.0 RESTful API 集成

我正在尝试集成 UPS 使用 OAuth 2.0 的新 RESTful API,这是我第一次这样做。使用客户端 ID 和客户端密钥,我可以获得访问令牌。并获得 API 服务...


需要什么才能使图请求成功?

在 GET 请求上: https://graph.microsoft.com/v1.0/users/me/joinedTeams 从以下位置检索 accesstoken:https://login.microsoftonline.com/4c3a1b30-xxxx-xxxx-9581-0281c4427992/oauth2/token 我是


当多个API的Access token同时失效时,如何刷新并行调用的多个API的Access token?

在我的 React Native 应用程序中,我在登录后获得访问令牌和刷新令牌。 有一个常用函数,当访问令牌无效时,使用刷新令牌再次调用访问令牌...


如何使用 React 和 RTK 查询处理 JWT 令牌刷新周期:自动重新获取失败的查询

在我的应用程序中,我有一个令牌刷新端点 /refresh,它在 cookie 中设置新的 JWT 刷新令牌并将新的 JWT 访问令牌作为 json 发送回。 由于访问令牌会在 5 分钟后过期,所以我...


Tomcat 在从 Google OAuth 2.0 API 重定向后创建一个新会话。为什么?

我正在 Tomcat 中实现 Google 的 OpenID Connect (OAuth 2.0)。 第一步是 创建防伪状态令牌 我这样做了,并认为我可以将其存储为 Tomcat 中的属性


Dart OAuth 1.0 - 无效签名 - 提供的签名不匹配

我正在使用 OAuth 1.0 调用 api,并且我正在使用以下包进行 api 调用。但我收到以下错误。请任何人指导我修复这个错误。 api调用的库: https://gith...


发送 csv 时“(400) 输入错误。某些域无效”

H。我需要通过ajax发送csv文件。我写了这段代码 $('#send-csv').click(function(){ var CSRF_TOKEN = document.querySelector('meta[name="csrf-token"]').getAttribute("c...


当 cy.wait() 超时时我该如何做?

此代码等待响应并在响应到达后执行操作。 等待超时时我该如何做? cy.wait('@login').then((拦截) => { const token = 拦截.响应...


更新到.net 8 会破坏 Bearer Token 授权

我的实现工作正常,直到更新到 .net 8。 现在我只收到 401。 已尝试所有相关SO问题的答案,但无济于事


避免重写内存中相同位置的解决方案?

无效扫描(扫描仪*扫描仪){ // 初始化扫描器 int length_of_src = strlen(扫描仪->源); 扫描仪->令牌 = malloc(sizeof(Token) * length_of_src + 1); int *行 = ...


尝试访问 API 时不断出现 401 未经授权

我很确定我的ID和秘密是正确的。 这是真正的链接:(https://sandbox.mngkargo.com.tr/en/node/266) 发布 https://testapi.mngkargo.com.tr/mngapi/api/token 标题: 内容-


在使用 next auth 进行 Oauth 时,getServerSession 在 nextjs 13.5.2 api 路由处理程序中始终返回 null

`我目前正在开发一个 To-Do 应用程序来练习 Next.js 和 Next-Auth。我正在使用 Next-Auth 作为 OAuth 提供程序,并且我想为每个待办事项添加一个“createdBy”属性以及相应的...


我可以将复杂的对象传递给命令处理程序和事件处理程序 AXON Spring boot

我的java版本17和axon 4.5.3 这是我的控制器。 buildOrder = orderService.buildOrder(orderDto.getCartCode(),token); 创建订单命令 ...


PHP 空会话值的未定义数组键

我在 WordPress 上有一个自定义插件,可以获取 url 参数值(示例:test.com/?token=hello)并将其发送到 Salesforce 字段。 升级到 PHP8.0 后,我收到有关


Symfony 6.0 - 在控制器中强制注销用户

我如何强制注销从新 Symfony 6 上的 controle 登录的用户? (6.0.1版本) 我尝试了 $tokenStorage->setToken($token);但 setToken() 需要 2 个参数: (公共函数 setToken(string $tok...


Spotify API {'error': 'invalid_client'} 授权代码流程 [400]

这是我向 https://accounts.spotify.com/api/token 发出 POST 请求的多次尝试之一。 范围设置为“播放列表修改公共、播放列表修改私有”。 我正在使用 Python 3.7,Djan...


std::vector<Token>& tokens; 是什么意思?做什么?

我正在编写一个解析器,其中我的代码具有这样的结构(删除了这个问题的所有不重要部分): 类令牌 { 私人的: 炭类型; 民众: 代币(...


是否可以在 Next.JS 中使用路径段作为 API 路由?

我使用 Next.js v.14 的应用程序路由器并具有以下目录结构: /app/api/github/webhook/[令牌]/route.ts 如何获取 POST 请求处理程序中的 [token] 值?有吗


Snowflake 无法在没有 BLOCKED_ROLES_LIST 的情况下添加集成

当我执行以下命令时: 使用角色 accountadmin; 创建安全集成 cr_integration_10 类型=OAUTH 启用=真 OAUTH_CLIENT = 自定义 OAUTH_CLIENT_TYPE='机密'...


Spring 5 中机密客户的 PKCE(非反应式)

我正在尝试在 Spring Boot 5 中的 oAuth 客户端上启用 PKCE。我能找到的示例适用于反应式客户端,如下所示: SecurityWebFilterChain springSecurityFilterChain(


令牌无效(Google 登录 api)OAuth 2.0 - Spring Boot

我被卡住了。我不知道如何解决这个错误: [invalid_id_token] 尝试解码 Jwt 时发生错误:ID 令牌包含无效声明:{iat=date...} 此消息确实...


如何在 Google Cloud Console 中添加 Google Keep API 范围?

我尝试使用 OAuth 2.0 连接到 Google Keep API,但无法在 Google Cloud Console 中添加所需的范围。我已在“库”部分启用了 Google Keep API,但是当...


在 Firely .Net Sdk 中创建患者 FHIR API 负载时出错

我正在尝试使用以下 API Url 在 EPIC 沙盒中创建患者 https://fhir.epic.com/interconnect-fhir-oauth/api/FHIR/R4/Patient 我正在使用 Firely .Net Sdk 进行 EPIC FHIR API 集成...


登录后,使用 angular-oauth2-oidc 时,hasValidAccessToken 始终为 true

我已经使用 Angular 12.2 实现了 angular-oauth-oidc (版本 12.1.0)。我使用 Keycloak 作为 SSO 登录没有问题,但我在库中遇到了奇怪的行为。 每次,之后...


自省端点验证同一客户端和其他客户端颁发的令牌

我正在使用符合 OAuth 2.1 的授权服务。 有两个 oauth2 客户端“client-1”、“client-2” 使用“client-1”创建访问令牌 反省将军...


多次异步调用时,Swift 模型视图不会更新@Published var

尝试更新代码以刷新 OAuth 中的令牌后,我无法刷新视图。 我的屏幕: 结构我的屏幕:查看{ @ObservedObject var viewModel = MyViewModel() var body: 一些视图 { ...


Google Picker API 自动

我计划有一个网络应用程序供用户将文件上传到我的驱动器。我创建一个服务帐户并获取 Google Picker 的 OAuth 令牌。我确认访问令牌有效。但是,Google Picker API


Laravel Passport 登录无法使用 Jetstream Inertia 正确重定向

我已经用 Laravel Passport 实现了一个 OAuth 系统,但是该系统的登录和所有身份验证都是由 Laravel Jetstream 和 Inertia 处理的。 当我想请求代码时(使用


如何使用 OAuth 2.0 客户端凭证流和带有 .net core 的 JWT 证书连接到 Oracle Netsuite

我正在尝试使用 Netsuite Rest api。以下是我采取的步骤。 https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_162730264820.html 在 Netsui 中创建了集成记录...


Django Oauth 工具包:用户数据自省

当前场景: 我正在使用 Introspect 来验证身份验证服务器上的访问令牌。此调用仅从身份验证服务器返回用户的“用户名”并将其保存在资源中


为什么同时使用 PKCE 和客户端秘密

我是 OAuth(和 Okta)的新手。 我的理解是,PKCE 本质上使客户端秘密变得不必要。我了解公共客户需要 PKCE(这就是我正在合作的客户)。奥克塔


将 twig 转换为 tpl

我尝试将twig转换为tpl,以便能够在2,3,0中使用3,0,0付款扩展。 树枝线 我尝试将 twig 转换为 tpl 以便能够在 2,3,0 中使用 3,0,0 付款扩展。 树枝线 <select name="payment_special_mode" class="form-control"> <option value="1" {{ payment_special_mode? 'selected' : '' }}>{{ text_enabled }}</option> <option value="0" {{ payment_special_mode? '' : 'selected' }}>{{ text_disabled }}</option> </select> <select name="payment_special_mode" class="form-control"> <option value="1" {{ payment_special_mode? 'selected' : '' }}>{{ text_enabled }}</option> <option value="0" {{ payment_special_mode? '' : 'selected' }}>{{ text_disabled }}</option> </select> 前往tpl线路 <select name="payment_special_mode" class="form-control"> <?php if ($payment_special_mode) { ?> <option value="1" selected="selected"><?php echo $text_enabled; ?> </option> <option value="0"><?php echo $text_disabled; ?></option> <?php } else { ?> <option value="1"><?php echo $text_enabled; ?></option> <option value="0" selected="selected"><?php echo $text_disabled; ?></option> <?php } ?> </select> 这是正确的吗 是的,我做到了,但没有成功,仍然在管理扩展行中可见,但有文本。用了opencartbot转换器,转换了大部分,但是有4行没有。检查了所有文件和文件夹。 读了很多标题,问了很多论坛,我找不到办法。如果我能以正确的方式将 twig 转换为 tpl,则在 3,0,2 扩展中必须有效。 我还将 user_token 更改为 token,$data['token'] = $this->session->data['token']


Google Youtube Data API:带有 API 密钥的私人视频

所以我们在 YouTube 上有一些私人培训视频。我们希望登录我们系统的人能够访问这些视频,但我不希望他们必须使用 oauth 登录。 我想要你...


如何从 google Passport 检索、保存和更新 idToken

我在我的nodejs应用程序中使用谷歌oauth护照策略,我不知道存储和更新我的idToken的正确方法,所以我可以在对exte进行api调用时将其用于身份验证目的...


ExchangeService FindItemsResults 从星期二开始返回 500 错误 C# .NET

我们使用 C# ASP.NET 来读取 Outlook 365 中的邮件。然后对这些电子邮件进行处理。 该代码已经运行了 2 年,但从 2022 年 8 月 24 日开始出现故障。 身份验证是 OAUTH,并且...


将自定义标头添加到 Spring Boot OAuth 2 客户端令牌请求

我正在努力使用 OAuth2 客户端功能自定义 Spring Boot 3.2.1 应用程序。我正在使用的 API 有一个非标准的必需标头作为令牌请求的一部分。 最终目标...


如何进行需要OAuth访问令牌的集成测试?

我与 Linkedin API 集成,并且我有这样的代码。我想测试它并在 CI/CD 中运行它。要获取访问令牌,我应该打开浏览器并允许我的应用程序访问我的测试 linkedin 帐户...


Thunderbird 电子邮件客户端如何通过 IMAP 访问 Outlook 电子邮件

微软不久前在尝试通过 IMAP 验证和访问电子邮件时禁用了基本身份验证。我们都应该使用 OAuth。但 ThunderBird 能够以某种方式访问我所有的电子邮件......


错误消息“您无法登录此应用程序,因为它不符合 Google 的确保应用程序安全的 OAuth 2.0 政策”

我正在开发一个基于网络的应用程序,它允许我信任的员工编辑我的 YouTube 频道的标题、描述、标签等。在尝试“选择加入”我自己的应用程序时...


当我们的应用程序在 Web 视图上打开时,访问被阻止授权错误 403 disallowed_useragent

我是一家软件公司的开发人员。我们有一个网络应用程序,那就是“招聘管理系统”。该系统的登录流程是使用google Oauth开发的。最近,我们收到一封来自...的电子邮件


通过更少的 Java API 调用来映射 Google 云端硬盘内容的有效方法

大家好,我有一个代码,用于列出共享驱动器中存在的文件(以便稍后下载并创建相同的文件夹路径) 目前我做这样的事情: 哈希映射 大家好,我有一个代码,用于列出共享驱动器中存在的文件(以便稍后下载并创建相同的文件夹路径) 目前我正在做这样的事情: HashMap<String, Strin> foldersPathToID = new HashMap<>(); //searching all folders first saving their IDs searchAllFoldersRecursive(folderName.trim(), driveId, foldersPathToID); //then listing files in all folders HashMap<String, List<File>> pathFile = new HashMap<>(); for (Entry<String, String> pathFolder : foldersPathToID.entrySet()) { List<File> result = search(Type.FILE, pathFolder.getValue()); if (result.size() > 0) { String targetPathFolder = pathFolder.getKey().trim(); pathFile.putIfAbsent(targetPathFolder, new ArrayList<>()); for (File file : result) { pathFile.get(targetPathFolder).add(file); } } } 递归方法在哪里: private static void searchAllFoldersRecursive(String nameFold, String id, HashMap<String, String> map) throws IOException, RefreshTokenException { map.putIfAbsent(nameFold, id); List<File> result; result = search(Type.FOLDER, id); // dig deeper if (result.size() > 0) { for (File folder : result) { searchAllFoldersRecursive(nameFold + java.io.File.separator + normalizeName(folder.getName()), folder.getId(), map); } } } 搜索功能是: private static List<com.google.api.services.drive.model.File> search(Type type, String folderId) throws IOException, RefreshTokenException { String nextPageToken = "go"; List<File> driveFolders = new ArrayList<>(); com.google.api.services.drive.Drive.Files.List request = service.files() .list() .setQ("'" + folderId + "' in parents and mimeType" + (type == Type.FOLDER ? "=" : "!=") + "'application/vnd.google-apps.folder' and trashed = false") .setPageSize(100).setFields("nextPageToken, files(id, name)"); while (nextPageToken != null && nextPageToken.length() > 0) { try { FileList result = request.execute(); driveFolders.addAll(result.getFiles()); nextPageToken = result.getNextPageToken(); request.setPageToken(nextPageToken); return driveFolders; } catch (TokenResponseException tokenError) { if (tokenError.getDetails().getError().equalsIgnoreCase("invalid_grant")) { log.err("Token no more valid removing it Please retry"); java.io.File cred = new java.io.File("./tokens/StoredCredential"); if (cred.exists()) { cred.delete(); } throw new RefreshTokenException("Creds invalid will retry re allow for the token"); } log.err("Error while geting response with token for folder id : " + folderId, tokenError); nextPageToken = null; } catch (Exception e) { log.err("Error while reading folder id : " + folderId, e); nextPageToken = null; } } return new ArrayList<>(); } 我确信有一种方法可以通过很少的 api 调用(甚至可能是一个调用?)对每个文件(使用文件夹树路径)进行正确的映射,因为在我的版本中,我花了很多时间进行调用 service.files().list().setQ("'" + folderId+ "' in parents and mimeType" + (type == Type.FOLDER ? "=" : "!=") + "'application/vnd.google-apps.folder' and trashed = false").setPageSize(100).setFields("nextPageToken, files(id, name)"); 每个子文件夹至少一次......并且递归搜索所有内容需要很长时间。最后,映射比下载本身花费的时间更多...... 我搜索了文档,也在此处搜索,但没有找到任何内容来列出具有一个库的所有驱动器调用任何想法? 我想使用专用的 java API 来获取共享 GoogleDrive 中的所有文件及其相对路径,但调用次数尽可能少。 提前感谢您的时间和答复 我建议您使用高效的数据结构和逻辑来构建文件夹树并将文件映射到其路径,如下所示 private static void mapDriveContent(String driveId) throws IOException { // HashMap to store folder ID to path mapping HashMap<String, String> idToPath = new HashMap<>(); // HashMap to store files based on their paths HashMap<String, List<File>> pathToFile = new HashMap<>(); // Fetch all files and folders in the drive List<File> allFiles = fetchAllFiles(driveId); // Build folder path mapping and organize files for (File file : allFiles) { String parentId = (file.getParents() != null && !file.getParents().isEmpty()) ? file.getParents().get(0) : null; String path = buildPath(file, parentId, idToPath); if (file.getMimeType().equals("application/vnd.google-apps.folder")) { idToPath.put(file.getId(), path); } else { pathToFile.computeIfAbsent(path, k -> new ArrayList<>()).add(file); } } // Now, pathToFile contains the mapping of paths to files // Your logic to handle these files goes here } private static List<File> fetchAllFiles(String driveId) throws IOException { // Implement fetching all files and folders here // Make sure to handle pagination if necessary // ... } private static String buildPath(File file, String parentId, HashMap<String, String> idToPath) { // Build the file path based on its parent ID and the idToPath mapping // ... }


我如何根据状态更改按钮颜色(绿色表示“接受”,红色表示“删除”)

如何根据状态更改按钮颜色(绿色表示“接受”,红色表示“删除”) 我是新人,为此使用 Laravel 框架。 这是我的观点 如何根据状态更改按钮颜色(绿色表示“接受”,红色表示“删除”) 我是新人,为此使用 Laravel 框架。 这是我的看法 <table class="table table-striped" id="example"> <thead> <tr> <th>ID no</th> <th>Form Name</th> <th style="text-align: center">Update</th> <th>Delete</th> <th>Status</th> </tr> </thead> @foreach($form as $show) {{--modal--}} <div class="modal fade mj_popupdesign mj_checkoutpopup" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-body"> <div class="col-lg-8 col-md-8 col-sm-12 col-xs-12 col-lg-offset-2 col-md-offset-2"> <div class="row"> <div class="mj_pricingtable mj_greentable mj_login_form_wrapper"> <form> <div class="mj_login_form"> <p>Are you sure you want to delete this post?</p> <br> <a href="" class="mj_btn btn btn-default pull-right glyphicon glyphicon-remove "> No</a> <a href="{{url('deleteForm',$show->id)}}" class=" pull-right mj_btn btn btn-danger glyphicon glyphicon-ok"> Yes</a> </div> </form> </div> </div> </div> </div> </div> </div> </div> {{--end modal--}} <tbody> <tr> <td> <p> {{$show->id}}</p> </td> <td> <h6><a href="{{url('JobDetails',$show->id)}}"style="color: rgb(0, 191, 243);font-size:18px;float: left;margin: 0;text-align: left">{{$show->jobTitle}}</a> </h6> <p> {{$show->created_at}} </p> </td> <td> <a href="{{url('UpdateFormView',$show->id)}}"> <span class="mj_btn btn btn-success">Update</span> </a> </td> <td> <span class="mj_btn btn btn-danger" data-toggle="modal" data-target="#myModal2">Delete</span> </td> <td><span class="mj_btn btn btn-warning">pending</span> </td> </tr> </tbody> @endforeach </table> </div> </div> </div> </div> 在我的控制器中public function AcquiredForm() { $acquired="Requirement Form"; $acquireForm=Job::where('jobType','LIKE','%'.$acquired.'%'); $form = $acquireForm->get(); return view('private-pages.company.aquire-form',compact('form')); } 数据库状态默认为待处理 数据库状态默认为pending 我在代码中没有看到 status 属性,但显示状态为待处理的纯字符串 <span class="mj_btn btn btn-warning">pending</span> <!-- while it suppose to be --> <span class="mj_btn btn btn-warning">{{ $show->status }}</span> 假设它确实存在,你可以做 <td> @if ($show->status === 'Accept') <span class="mj_btn btn btn-green">Accepted</span> @elseif ($show->status === 'Delete') <span class="mj_btn btn btn-danger">Deleted</span> @else <span class="mj_btn btn btn-warning">Pending</span> @endif </td> 参见:https://laravel.com/docs/5.1/blade#displaying-data <td> @if ($show->jobstatus === "Accepted") <span class="mj_btn btn btn-success">Accepted</span> @elseif ($show->jobstatus === "Rejected") <span class="mj_btn btn btn-danger">Rejected</span> @else <span class="mj_btn btn btn-warning">Pending</span> @endif </td> 或者当你使用 1. laravel esialy customaize this code nad add automatic refresh in the page to more interactive @php if($da->status == "requested") { echo "<td><button class='btn btn-primary'>Requested</button></td>"; } else { echo "<td><button class='btn btn-success'>Ordered</button></td>"; } @endphp


ASP.NET MVC 项目模板在移动设备上无法调整为 100%

我不明白为什么 Web .Net MVC 项目上的默认模板没有在移动设备中调整为 100% 宽度。 我在视图上使用数据表: @模型IEnumerable 我不明白为什么 Web .Net MVC 项目上的默认模板没有在移动设备中调整为 100% 宽度。 我在视图上使用数据表: @model IEnumerable<iziConference.Models.EventAttendee> <h2>Participantes.</h2> <br /> <button><a style="text-decoration: none" href='@Url.Action("Create", new { eventId = ViewBag.EventId })'>Criar Participante</a></button> <button id="at-btn-refresh"> Actualizar</button> <input id="eventId" type="hidden" value="@ViewBag.EventId"> <table id="at-attendees-list" cellpadding="10" border="1" class="row-border stripe"> <thead> <tr> <th>ID</th> <th>Tipo</th> <th>Nome</th> <th>Email</th> <th>Estado </th> </tr> </thead> <tbody> @foreach (var item in Model) { <tr id="[email protected]_Id"> <td style="padding: 5px"> @Html.DisplayFor(modelItem => item.Attendee.Id) </td> <td> @Html.DisplayFor(modelItem => item.AttendeeType) </td> <td> @Html.DisplayFor(modelItem => item.Attendee.Name) </td> <td> @Html.DisplayFor(modelItem => item.Attendee.Email) </td> <td> @if (item.IsActive) { <button id="[email protected]_Id" class="at-btn-active-state active" data-attendee-id="@item.Attendee_Id" data-attendee-name="@item.Attendee.Name" data-active-new-state="false" data-show-confirmation-alert="true">Desactivar</button> } else { <button id="[email protected]_Id" class="at-btn-active-state inactive" data-attendee-id="@item.Attendee_Id" data-attendee-name="@item.Attendee.Name" data-active-new-state="true" data-show-confirmation-alert="true">Activar</button> } </td> </tr> } </tbody> </table> 由脚本加载: var _atteendeesList = "at-attendees-list"; $("#" + _atteendeesList).DataTable({ "paging": false, "info": false, "language": { "search": "Pesquisar:", "info": "Participantes inscritos: _PAGES_" } }); 使用默认的_Layout.cshtml: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>izigo Conference - Gestor de Conteúdos</title> <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta name="viewport" content="width=device-width" /> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body> <header> <div class="content-wrapper"> <section id="login"> @Html.Partial(MVC.Account.Views._LoginPartial) </section> <div style="padding: 10px;"> @if (Request.IsAuthenticated) { <nav> <ul id="menu"> <li>@Html.ActionLink("Home", MVC.Home.Index())</li> <li>@Html.ActionLink("Participantes", MVC.Attendee.Index())</li> <li>@Html.ActionLink("Check-in", MVC.Checkin.Index())</li> </ul> </nav> } </div> </div> </header> <div id="body"> @RenderSection("featured", required: false) <section class="content-wrapper main-content clear-fix"> @RenderBody() </section> </div> <footer style="padding-left: 25px;"> <div class="content-wrapper"> <div class="float-left"> <p>&copy; @DateTime.Now.Year - <a href="https://www.izigo.pt/conference" target="_blank">izigo Conference</a> - <i>Powered by</i><a href="https://www.izigo.pt" target="_blank">izigo.pt</a></p> </div> </div> </footer> @Scripts.Render("~/bundles/jquery", "~/bundles/iziconference") @RenderSection("scripts", required: false) </body> </html> 研究了 dataTables 库的选项后,我找到了一个创建响应式解决方案的选项: 我已经包含了响应表结构和columnDefs的选项,以选择哪些选项在移动设备中保持可见: $("#" + _atteendeesList).DataTable({ "responsive": true, "columnDefs": [ { responsivePriority: 1, targets: 0 }, { responsivePriority: 2, targets: -1 } ], "paging": false, "info": false, "language": { "search": "Pesquisar:", "info": "Participantes inscritos: _PAGES_" } }); 我还必须在捆绑包中包含数据表扩展的 js 和 css 响应式库(可在此处下载:https://datatables.net/download/): bundles.Add(new ScriptBundle("~/bundles/iziconference").Include( "~/Content/Scripts/datatables.min.js", "~/Content/Scripts/dataTables.responsive.min.js")); // add-on bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/Styles/datatables.min.css", "~/Content/Styles/responsive.dataTables.min.css"));


© www.soinside.com 2019 - 2024. All rights reserved.