我需要在我的dll中使用razor,所以我添加了nuget数据包MVC,使用Web.Configue创建文件夹视图,清除和重建解决方案,什么都没有.有什么建议我缺少什么? 类库项目
项目中的参考文献
Web.config文件
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="MyDllRootNameSpace" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.web>
<compilation targetFramework="4.5">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add …Run Code Online (Sandbox Code Playgroud) 我创建的后台服务在用户登录后启动,即使在活动被“扔到垃圾桶”之后也应该工作。服务显示它正在运行的通知,注册两个广播接收器以监视 wifi 和电话状态,并且应该继续运行直到令牌未过期或用户注销。
一切正常,但服务被 android 杀死。真正有效的唯一解决方案是这篇文章的说明 http://nine-faq.9folders.com/articles/37422-stop-your-huawei-smartphone-from-closure-apps-当你锁定屏幕 不幸的是,这个解决方案是不可接受的,因为它依赖于用户。
由 C# 使用 Xamarin 创建的代码,但如果有人知道如何以编程方式实现文章中的解决方案,即使使用其他语言(java,kotlin),我也会很高兴提供有用的建议
显现
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0"
package="com.companyname.com.bgapptest">
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="28" />
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
<service
android:name="com.BGAppTest.BackgroundService"
android:enabled="true"
android:exported="false"/>
</application>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
</manifest>
Run Code Online (Sandbox Code Playgroud)
从活动开始服务
活动
using System;
using System.Linq;
using Android.App;
using …Run Code Online (Sandbox Code Playgroud) android android-service xamarin.android android-permissions android-background
我在将简单 linq 查询转换为 Lambda 表达式时遇到问题。
我的查询如下所示:
int[] array = List<int> array2 = sql.OfType<Table1>().Select(x=>x.ID).Take(10).ToList();
var result = sql.OfType<Table1>().Where(x => array.Contains(x.ID)).Take(10).ToList();
Run Code Online (Sandbox Code Playgroud)
最终结果应该是:
static void DynamicSQLQuery<T>(IQueryable<T> sql, string fieldName)
{
List<int> array = sql.OfType<T>().Select(SelectExpression<T>(fieldName)).Take(10).ToList();
var result = sql.OfType<T>().Where(InExpression<T>(fieldName, array)).Take(10).ToList();
}
Run Code Online (Sandbox Code Playgroud)
班级
public class Table1
{
public int ID { get; set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我已经转换了第一个 lambda:
public static Expression<Func<T, int>> SelectExpression<T>(string fieldName)
{
ParameterExpression param = Expression.Parameter(typeof(T), "x");
MemberExpression selection = Expression.PropertyOrField(param, fieldName);
var lambdaExp = Expression.Lambda<Func<T, …Run Code Online (Sandbox Code Playgroud) 我正在使用MVC 5几个月阅读了很多文章,论坛和文档,但总是想知道视图中哪个更好;
1)使用这里的模型静态方法绑定数据
2)使用在Controller中设置的ViewData [index]绑定相同的数据,前面的示例将如下所示
@Html.DropDownListFor(n => n.MyColorId, ViewData[index])
Run Code Online (Sandbox Code Playgroud)