小编Gab*_*Gab的帖子

创建JavaScript自定义事件

我想用JavaScript创建一个自定义事件.

我有一个带有WebBrowser的WPF应用程序,以及一个带有JavaScript的HTML页面.

我使用打印机.当打印机的状态发生变化时,它会在.NET中触发事件.

然后,我OnPrinterStateChanged(state)使用InvokeScriptWebBrowser控件的函数调用JavaScript方法.

问题是我必须OnPrinterStateChanged(state)在我的网页中实现该方法.我无法更改方法的名称或订阅/取消订阅活动...

我想将JavaScript方法移到OnPrinterStateChanged(state)单独的JavaScript文件中.

我想要的是 :

  • 订阅/取消订阅我的HTML页面中的事件,并决定在触发事件时我想要做什么(例如:"function ChangeState")
  • 当触发.NET事件时,它会调用OnPrinterStateChanged(state)我单独的.js文件,然后触发JavaScript事件并ChangeState调用该函数.

我找到了一些解决方案,但我没有设法让它工作......最简单的方法是什么?

javascript events

65
推荐指数
2
解决办法
7万
查看次数

在EF代码首次迁移期间创建表并将数据插入其中

我正在使用Entity Framework Code First和Code First迁移.

在迁移期间,我需要创建一个新表,然后将一些数据插入其中.

所以我创建表:

CreateTable("MySchema.MyNewTable",
    c => new
    {
        MYCOLUMNID = c.Int(nullable: false, identity: true),
        MYCOLUMNNAME = c.String(),
     })
   .PrimaryKey(t => t.MYCOLUMNID);
Run Code Online (Sandbox Code Playgroud)

然后我尝试插入数据:

using (var context = new MyContext())
{
    context.MyNewTableDbSet.AddOrUpdate(new[]
    {
    new MyNewTable
    {
       MYCOLUMNNAME = "Test"
    }
    });
    context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

无效的对象名称'mySchema.MyNewTable'.

有可能做我需要的吗?在同一个迁移中创建一个表和inserto数据?

我已经有其他迁移,我在其中创建表或将数据插入表中,但从未在同一个迁移中...

c# entity-framework ef-migrations entity-framework-6

12
推荐指数
4
解决办法
2万
查看次数

Linq GroupBy将每个空值作为一个组

我有一个可以为null的int属性"GroupId"的对象.

有了这个对象的List,我想在这个"GroupId"上做一个GroupBy.但是,如果我这样做,所有空值将形成一个组.

示例:

对象1:GroupId:NULL

对象2:GroupId:NULL

对象3:GroupId:1

对象4:GroupId:1

对象5:GroupId:2

对象6:GroupId:2

MyList.GroupBy(f => f.GroupId, key => new {Object = key});
Run Code Online (Sandbox Code Playgroud)

我会得到3组.

我怎样才能获得4组呢?每个NULL值的组...

c# linq group-by

10
推荐指数
1
解决办法
6601
查看次数

Windows 7触摸屏 - 禁用多点触控手势无法正常工作

我有一台带Windows 7的触摸屏电脑,我想禁用多点触摸手势:

在此输入图像描述

但即使我禁用它并应用更改,当我重新打开窗口时,该选项再次启用...

知道我可以在哪里停用它吗?(也许在注册表中...)

Up:还有问题.

windows controlpanel touchscreen

7
推荐指数
1
解决办法
9212
查看次数

JavaScript - 防止页面缩放

我有一个将在平板电脑上使用的Web应用程序(在Internet Explorer上).编辑:不是平板电脑,而是带触摸屏的Windows 7电脑.

问题是用户可以捏缩放页面(如ctrl- +).

有没有办法从JavaScript禁用它?(比如在移动设备上).

或者也许更改用户代理就像iPad一样?它会起作用吗?

html javascript zooming

6
推荐指数
1
解决办法
9537
查看次数

Android WebView导航事件?

我正在寻找Android WebView的事件,它等同于WPF WebBrowser的"导航"事件,或IOS UiWebView的"ShouldStartLoad".

我找到了"shouldOverrideUrlLoading",但我不知道如何使用它,因为构造函数需要一个URL ...

我想在导航之前截取Url,并取消某些网址的导航...

我在Visual Studio中使用Xamarin.

WPF等价物:

webBrowser.Navigating += WebBrowserNavigating;

private void WebBrowserNavigating(object sender, NavigatingEventArgs e)
    {
        if (//condition)
        e.Cancel = true;
        //Do something else
    }
Run Code Online (Sandbox Code Playgroud)

navigation android android-webview xamarin

5
推荐指数
1
解决办法
4576
查看次数

获取 MAUI android (net6-android) 库中当前的 Android 活动

我有一个 Xamarin.Forms (Android) 库,允许使用 NFC,代码如下:

public class MediaAccessReader : Java.Lang.Object, NfcAdapter.IReaderCallback
{
    public const string TypeName = "Nfc";
    private static NfcAdapter NfcAdapter { get; } = NfcAdapter.GetDefaultAdapter(Android.App.Application.Context);
    public string Name { get; set; }

    public void Initialize(MediaAddedEventHandler mediaAdded, MediaRemovedEventHandler mediaRemoved)
    {                        
        Name = "Nfc";
#if XAMARINANDROID
         var activity = Forms.Context as Activity;
         NfcAdapter?.EnableReaderMode(activity, this, NfcReaderFlags.NfcA | NfcReaderFlags.NfcB | NfcReaderFlags.NfcF | NfcReaderFlags.NfcV | NfcReaderFlags.SkipNdefCheck, Bundle.Empty);
#else
         var activity = ?????????????????;
         NfcAdapter?.EnableReaderMode(activity , this, NfcReaderFlags.NfcA | NfcReaderFlags.NfcB | NfcReaderFlags.NfcF | NfcReaderFlags.NfcV | …
Run Code Online (Sandbox Code Playgroud)

android-activity maui net6.0-android nfcadapter

3
推荐指数
1
解决办法
2387
查看次数

在asp.net mvc网站上获取本地文件路径

我有两个项目的解决方案:asp.net mvc网站和类库.在网站上,我有一个类库的参考.

在类库的方法中,我需要在我的网站项目(配置文件)中获取文件的路径.

我试过了 :

HostingEnvironment.ApplicationPhysicalPath
Run Code Online (Sandbox Code Playgroud)

这有效,但我不能对它进行单元测试......你有一个简单的单元测试解决方案或其他方法来获得我需要的路径吗?

我也尝试过:

System.Reflection.Assembly.GetAssembly(typeof(MyClass)).Location;
Run Code Online (Sandbox Code Playgroud)

但我得到:

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\.....

我可以用什么?

c# asp.net-mvc

2
推荐指数
1
解决办法
4898
查看次数

带参数的泛型Func

我有很多方法需要从外部API获取数据并以相同的方式管理错误.

所以我想避免在所有方法中使用相同的代码......

我试图使用Func,我有这个代码工作的方法没有参数.

方法 :

private async Task<T> ExecuteAction<T>(Func<Task<T>> action) where T : class
    {
        var securityException = false;
        object response = null;

        try
        {
            response = await action();
        }
        catch (MySecurityException)
        {
            securityException = true;
        }

        if (securityException)
        {
            // new login
            response = await action();
        }

        else if (// other condition)
        {
            //Do something
        }

        return (T) response;
    }
Run Code Online (Sandbox Code Playgroud)

方法调用:

Func<Task<string>> action = myApiClient.Action;

var test = await ExecuteAction<string>(action);
Run Code Online (Sandbox Code Playgroud)

我怎么能用参数做同样的事情?就像是 :

Func<Task<string>> action = myApiClient.Action(parameter1, parameter2);
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来修改我的方法来添加参数?

c# func task-parallel-library

2
推荐指数
1
解决办法
835
查看次数

CSS - 文本左右对齐 - 多行

我是 CSS 的初学者,我无法做我需要的事情。

我想在同一行的左侧和右侧显示一些文本,然后仅在第二行的右侧显示一些文本。

这是一个JsFiddle

HTML :

<div class="myDiv">
    <p class="alignleft"> Text on the left.</p>
    <p class="alignright">Text on the right.</p>
    <p class="alignright2">Text on the right 2.</p>
</div>
<div class="myDiv">
    <p class="alignleft"> Text on the left.</p>
    <p class="alignright">Text on the right.</p>
    <p class="alignright2">Text on the right 2.</p>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS :

.myDiv{
    margin: 0 25% 10px 25%; 
    border-style: dashed;
    border-width: 1px;
}

.alignleft {
    float: left;
}

.alignright {
   float: right;
}
Run Code Online (Sandbox Code Playgroud)

“右边的文字2”应该在“右边的文字”下。

它应该很简单,但就像我说的我是初学者......

css alignment

1
推荐指数
1
解决办法
1788
查看次数