- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用此代码清除 cookie,我不明白为什么它不起作用。
我已经尝试过这个:
if (Device.RuntimePlatform == Device.iOS)
我想我必须包括
using Foundation;
但是如果我把它放在指令部分,它会显示错误。我需要知道如何仅在 ios 上执行此代码,现在我运行它显然没有问题,但它不会清除 cookie。我不知道如何特别指向要执行的这个文件。
这是我的代码:
using System;
using System.Collections.Generic;
using System.Net.Http;
using app_app.Helpers;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;
using static app_app.MainPage;
#if __IOS__
using Foundation;
using UIKit;
#endif
namespace app_app
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class ActualizarDatos : ContentPage
{
private MainPage.loginInfo userInfo;
public ActualizarDatos(loginInfo userInfo)
{
InitializeComponent();
this.userInfo = userInfo;
nombre.Text = userInfo.nombre;
apellido.Text = userInfo.apellido;
email.Text = userInfo.email;
cedula.Text = userInfo.cedula;
nombreHeader.Text = userInfo.nombre + " " + userInfo.apellido;
}
private async void btnCambiar_Clicked(object sender, EventArgs e)
{
await Navigation.PushAsync(new CambiarContrasena(userInfo) { Title = "app Cambiar Contraseña" });
}
public void DeleteAllCookiesForSite()
{
#if __IOS__
NSHttpCookieStorage storage = NSHttpCookieStorage.SharedStorage;
foreach (NSHttpCookie cookie in storage.Cookies)
{
if (cookie.Domain == ".facebook.com")
{
storage.DeleteCookie(cookie);
}
}
NSUserDefaults.StandardUserDefaults.Synchronize();
#endif
}
private async void btnCerrar_Clicked(object sender, EventArgs e)
{
userInfo = null;
DeleteAllCookiesForSite();
Settings.IsLoggedIn = false;
await Navigation.PushAsync(new MainPage());
}
private async void Actualizar_Clicked(object sender, EventArgs e) {
if (string.IsNullOrEmpty(nombre.Text))
{
await DisplayAlert("Error", "Debe ingresar un nombre válido", "Aceptar");
nombre.Focus();
return;
}
if (string.IsNullOrEmpty(apellido.Text))
{
await DisplayAlert("Error", "Debe ingresar un apellido válido", "Aceptar");
apellido.Focus();
return;
}
if (string.IsNullOrEmpty(cedula.Text))
{
await DisplayAlert("Error", "Debe ingresar una cédula válida", "Aceptar");
cedula.Focus();
return;
}
if (string.IsNullOrEmpty(email.Text))
{
await DisplayAlert("Error", "Debe ingresar un email", "Aceptar");
email.Focus();
return;
}
if (proyecto.SelectedIndex == -1) {
await DisplayAlert("Error", "Debe indicar la linea de negocios de su preferencia", "Aceptar");
return;
}
/*if (adquirio_proyecto.SelectedIndex == -1)
{
await DisplayAlert("Error", "Debe indicar si ha adquirido proyectos", "Aceptar");
return;
}*/
if (recibir_notificaciones.SelectedIndex == -1)
{
await DisplayAlert("Error", "Debe indicar si desea recibir notificaciones", "Aceptar");
return;
}
btnActualizaUsuario.IsEnabled = false;
try
{
var uri = new Uri("https://www.app.com.co/app/service.php");
//await DisplayAlert("debug", userInfo.id, "Aceptar");
var formContent = new FormUrlEncodedContent(new[]{
new KeyValuePair<string, string>("id", userInfo.id),
new KeyValuePair<string, string>("nombre", nombre.Text),
new KeyValuePair<string, string>("apellido", apellido.Text),
new KeyValuePair<string, string>("cedula", cedula.Text),
new KeyValuePair<string, string>("email", email.Text),
//new KeyValuePair<string, string>("adquirio_proyecto", adquirio_proyecto.Items[adquirio_proyecto.SelectedIndex]),
new KeyValuePair<string, string>("proyecto", proyecto.Items[proyecto.SelectedIndex]),
new KeyValuePair<string, string>("recibir_notificaciones", recibir_notificaciones.Items[recibir_notificaciones.SelectedIndex]),
new KeyValuePair<string, string>("task", "actualizaUsuario")
});
var myHttpClient = new HttpClient();
myHttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept", "text/html,application/xhtml+xml,application/xml");
myHttpClient.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0");
myHttpClient.DefaultRequestHeaders.TryAddWithoutValidation("Accept-Charset", "ISO-8859-1");
var response = await myHttpClient.PostAsync(uri.ToString(), formContent);
var stringContent = await response.Content.ReadAsStringAsync();
//await DisplayAlert("debug", stringContent, "Aceptar");
switch (stringContent)
{
case "success":
stringContent = "";
var BienV = "Sus datos han sido actualizados debes iniciar sesión para ver los cambios";
await DisplayAlert("Registro Éxitoso", BienV, "Aceptar");
userInfo = null;
await Navigation.PushAsync(new MainPage());
break;
case "failed":
var VuelveA = "Algo salio mal, intente mas tarde";
await DisplayAlert("Registro no exitoso Incorrecto", VuelveA, "Aceptar");
email.Text = string.Empty;
btnActualizaUsuario.IsEnabled = true;
stringContent = "";
break;
case "exist":
var Existe = "Su correo se encuentra registrado";
await DisplayAlert("Registro no exitoso Incorrecto", Existe, "Aceptar");
email.Text = string.Empty;
btnActualizaUsuario.IsEnabled = true;
stringContent = "";
break;
}
}
catch (Exception ex)
{
var Msj = ex.Message;
await DisplayAlert("Error", Msj, "Aceptar");
return;
}
}
}}
提前致谢
最佳答案
我使用了依赖注入(inject),所以在我的可移植项目中调用
//required for iOS
DependencyService.Get<IPlatform>().DeleteAllCookies();
iPlatform 在哪里
public interface IPlatform
{
void DeleteAllCookies();
}
然后在我的iOS项目中的platform.cs中
internal class Platform : IPlatform
{
public void DeleteAllCookies()
{
foreach (var c in NSHttpCookieStorage.SharedStorage.Cookies)
{
NSHttpCookieStorage.SharedStorage.DeleteCookie(c);
}
}
}
而在 Android 项目中函数是空的:
public void DeleteAllCookies()
{
}
关于c# - xamarin 形式清除 session ios xamarin 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48268498/
我有一个网站,我正在通过学校参加比赛,但我在清除 float 元素方面遇到了问题。 该网站托管在 http://www.serbinprinting.com/corey/development/
我有一个清除按钮,需要使用 JQuery 函数清除该按钮单击时的 TextBox 值(输入的)。 最佳答案 您只需将单击事件附加到按钮即可将输入元素的值设置为空。 $("#clearButton").
我们已经创建了一个保存到 CoreData 然后同步到 CloudKit 的 iOS 应用程序。在测试中,我们还没有找到一种方法来清除应用程序 iCloud 容器中的数据(用于用户私有(private
这是一个普遍的问题,也是我突然想到并且似乎有道理的问题。我看到很多人使用清除div 并且知道这有时不受欢迎,因为它是额外的标记。我最近开始使用 因为它接缝代表了它的实际用途。 当然都引用了:.clea
我有两个单选按钮。如果我检查第一个单选按钮下面的数据将填充在组合框中。之后我将检查另一个单选按钮,我想清除组合框值。 EmployeeTypes _ET = new EmployeeTypes(
我一直在玩 Canvas ,我正在尝试制作一个可以移动和跳跃的正方形,移动部分已经完成,但是跳跃部分有一个问题:每次跳跃时它都会跳得更快 here's a jsfiddle 这是代码: ///////
我该如何在 Dart 上做到这一点? 抓取tbody元素后,我想在其上调用empty(),但这似乎不存在: var el = query('#search_results_tbody'); el.em
我需要创建一个二维模拟,但是在设置新的“框架”时,旧的“框架”不会被清除。 我希望一些圆圈在竞技场中移动,并且每个循环都应删除旧圆圈并生成新圆圈。一切正常,但旧的没有被清除并且仍然可见,这就是我需要改
无论我使用set statusline将状态行更改为什么,我的状态行都不会改变。看起来像 ".vimrc" 39L, 578C
在 WPF 应用程序中,我有一个 ListView 绑定(bind)到我的 ViewModel 上的一个 ObservableCollection。 在应用程序运行期间,我需要删除并重新加载集合中的所
我有一个大型程序,一个带有图形的文本扭曲游戏。在我的代码中的某处,我使用 kbhit() 我执行此代码来清除我的输入缓冲区: while ((c = getchar()) != '\n' && c !
我正在将所有网站的页面加载到主索引页面中,并通过将 href 分成段并在主域名后使用 .hash 函数添加段来更新 URL 显示,如下所示: $('a').click(function(event)
我有一个带有 的表单和 2 控件来保存和重置表单。我正在触发 使用 javascript __doPostBack()函数并在其中传递一个值 __EVENTARGUMENT如果面板应该重置。 我的代
我目前有一堆 UIViewController,每个都是在前一个之上呈现的模式 ViewController。我的问题是我不需要一堆 UIViewController,我只需要最后一个。因此,当出现新
我在一个类中有一些属性方法,我想在某个时候清除这个属性的缓存。 示例: class Test(): def __init__(self): pass @property
在此Test Link我试图将标题和主站点导航安装到博客脚本的顶部。 我清除:两者;在主要网站脚本上工作,但现在把所有东西都扔到了一边。尝试了无数次 fixex 都没有成功!提前感谢 Ant 指点解决
我似乎无法正确清除布局。看this 我无法阻止左栏中的元素向下推右栏中的元素。谁能帮忙? Screenshot with some pointy arrows (死链接) 最佳答案 问题标记/样式似
我希望能够在某个类 (sprite-empos) 之后清除 '' 中的内容,想知道是否有不添加任何新类或不使用 js 的方法(我在下面尝试过不工作)? 为了明确它是“985”,我想在某个视口(view
我想清除ptr_array boost::ptr_array a; ... a.clear(); // missing 如何清理 ptr 容器? 最佳答案 它应该表现得像一个数组,您不能在 C++
这是我使用多 map 制作的一个简单的事件系统;当我使用 CEvents::Add(..) 方法时,它应该插入并进入多重映射。问题是,当我触发这些事件时, multimap 似乎是空的。我确定我没有调
我是一名优秀的程序员,十分优秀!