我试图在ASP.NET MVC 5应用程序中使用Ninject,该应用程序使用AutoMapper将模型映射到视图模型,反之亦然.不幸的是,我收到一条错误消息,指出缺少类型映射配置.
我创建了一个Ninject依赖解析器:
namespace MyNamespace.Infrastructure
{
public class NinjectDependencyResolver: IDependencyResolver
{
private IKernel kernel;
public NinjectDependencyResolver(IKernel kernelParam)
{
kernel = kernelParam;
AddBindings();
}
public object GetService(Type serviceType)
{
return kernel.TryGet(serviceType);
}
public IEnumerable<object> GetServices(Type serviceType)
{
return kernel.GetAll(serviceType);
}
private void AddBindings()
{
kernel.Bind<IMyBLL>().To<MyBLL>();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我用它来创建一个控制器:
namespace MyNamespace.Controllers
{
[Authorize]
public class HomeController : Controller
{
private IMyBLL _myBLL;
public HomeController(IMyBLL myBLLParam)
{
_myBLL = myBLLParam;
}
public PartialViewResult AddRecord()
{
return PartialView(new AddRecordViewModel());
}
[HttpPost]
public …Run Code Online (Sandbox Code Playgroud) 我创建了一个ASP.NET MVC局部视图,我通过HTML.Action帮助器方法调用它:
@Html.Action("GetMyPartialView", "MyController", new { myParameter})
Run Code Online (Sandbox Code Playgroud)
局部视图包含一个需要调用JavaScript的控件(外部JavaScript文件中的JavaScript库).如何在部分视图中调用此JavaScript代码.
我尝试在局部视图中使用script元素:
<script>
MyJavaScriptFunction();
</script>
Run Code Online (Sandbox Code Playgroud)
这没用.可能当时没有加载外部JavaScript文件(例如jQuery).
在呈现局部视图时,建议使用JavaScript代码的方法是什么?
我正在尝试通过实体框架核心迁移更改表的主键:
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropPrimaryKey(
name: "PK_Permissions",
table: "Permissions");
}
Run Code Online (Sandbox Code Playgroud)
当我尝试更新数据库时,我收到以下错误消息:
To change the IDENTITY property of a column, the column needs to be dropped and recreated.
Run Code Online (Sandbox Code Playgroud)
如何更新数据库?
primary-key entity-framework-core entity-framework-migrations
我有一些JavaScript问题.我有以下代码:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function Control(){
var name;
this.setName = function(newName){
name = newName;
};
this.getName = function(){
return name;
};
}
function SpecializedControl(){
}
SpecializedControl.prototype = new Control();
function Form(){
var formControls = [];
this.addControl = function(control){
formControls.push(control);
alert(formControls[0].getName());
};
}
var form = new Form();
var control1 = new SpecializedControl();
control1.setName("Control1");
form.addControl(control1);
var control2 = new SpecializedControl();
control2.setName("Control2");
form.addControl(control2);
</script>
</head>
<body>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
SpecializedControl继承自Control类.
Form类中的addControl函数只是将控件添加到数组中.
问题是,当我添加多个SpecializedControl时,数组中的值是一种覆盖,这意味着当我访问数组中的第一个项目时,应该是"Control1",我得到"Control2".Control1不再在数组中.
当我使用与Control对象相同的函数作为参数时,一切都按预期工作.
有人知道为什么会发生这种情况以及可以采取哪些措施来纠正这种情
我们需要创建一个可以通过浏览器使用的应用程序,但也可以在离线时使用.
我们的客户将使用浏览器版本进行计算.每个客户都需要使用用户名和密码登录应用程序.离线版本将由我们自己的员工使用.他们需要能够在未连接到网络的情况下使用此版本.应用程序所需的数据将存储在XML文件中.
我们主要使用C#和.NET-Framework进行编程.我们考虑过将WPF用于客户端版本.我已经读过您可以使用Silverlight或XBAP来创建WPF应用程序的浏览器版本.AFAIK Silverlight是一种垂死的技术.XBAP怎么样?你还会投资这项技术吗?
另一个解决方案是创建两个前端应用程序:作为离线应用程序的WPF应用程序和作为Web应用程序的Web应用程序(例如ASP.NET MVC).想,这意味着我们必须创建两个前端(更多的工作).
还有另一种选择吗?创建HTML/JavaScript应用程序(例如使用AngularJ或类似的东西)会更好吗?
我使用内存数据库来对使用 Entity Framework Core 的方法进行单元测试。
我按如下方式设置数据库上下文:
var builder = new DbContextOptionsBuilder<DatabaseContext>().UseInMemoryDatabase();
var context = new DatabaseContext(builder.Options);
var databaseElements = Enumerable.Range(1, 10)
.Select(i => new DatabaseElement
{
Id = i,
Name = "Name of Element"
});
context.DatabaseElements.AddRange(databaseElements);
context.SaveChanges();
_databaseContext = context;
...
Run Code Online (Sandbox Code Playgroud)
我使用这个数据库上下文进行测试。这很好用。
是否可以使用它来引发实体框架异常?
例如,如果我可以测试我的方法是否按预期处理这些异常(例如没有到数据库的连接),那就太好了。
我使用 Angular Reactive 表单作为搜索表单。我希望能够重置表单。我用以下代码做到了这一点:
<button type="reset" (click)="onReset()">
Reset
</button>
Run Code Online (Sandbox Code Playgroud)
reset 方法执行以下操作:
onReset(){
this.myForm.reset();
this.myForm.markAsPristine();
this.myForm.markAsUntouched();
}
Run Code Online (Sandbox Code Playgroud)
这使得所有表单控件都为空。但它不会重置表单验证。如果表单无效,我会停用提交按钮。这在我第一次使用表单时有效。单击重置后,验证不再起作用。提交表单后它似乎被取消了。
我该如何解决这个问题?我在这里缺少什么?
我在Visual Studio 2017中使用单页应用程序模板来创建Angular 2应用程序.
dotnet new --install Microsoft.AspNetCore.SpaTemplates::*
Run Code Online (Sandbox Code Playgroud)
然后创建这样的应用程序:
dotnet new angular
Run Code Online (Sandbox Code Playgroud)
将第三方库(如字体真棒)导入Angular 2应用程序的推荐方法是什么?
我正在创建一个PhoneGap应用程序,它应该调用一些REST Web服务方法来获取一些数据并将一些数据发送到服务器.
在我的程序的某个地方,我有以下代码:
$.getJSON("https://mgeowiki4.iwvi.uni-koblenz.de/API/UniKoblenz/validateCredentials/SampleUser/Password",
function(data){
echo("data: " + data);
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我执行时,没有任 我正在使用Eclipse与Android模拟器来测试这个.没有显示任何警报消息.甚至不显示错误消息.
如果我在浏览器中调用该服务,如果密码不正确,我会得到以下信息:
{"passwordIsValid": "false"}
Run Code Online (Sandbox Code Playgroud)
如果密码正确,则输入以下内容:
{"passwordIsValid": "true"}
Run Code Online (Sandbox Code Playgroud)
如何在PhoneGap应用程序中获得这些结果?我有点不知道该做什么:-(
我EnumDropDownListFor在ASP.NET MVC中使用:
@Model.PhoneNumberType
@Html.EnumDropDownListFor(model => model.PhoneNumberType, new {@class = "form-control"})
Run Code Online (Sandbox Code Playgroud)
这不会预先选择enum下拉列表中的值.如果我只是显示enum值,它将显示正确的enum值.DropDown始终设置为下拉列表中的第一个值,但不设置为enum字段的值.
如何配置EnumDropDownListFor为使用enum字段值预先选择下拉列表?
c# ×3
angular ×2
asp.net-mvc ×2
javascript ×2
arrays ×1
asp.net-core ×1
automapper ×1
cordova ×1
entity-framework-migrations ×1
enums ×1
exception ×1
font-awesome ×1
inheritance ×1
jquery ×1
json ×1
ninject ×1
offline ×1
primary-key ×1
prototype ×1
razor ×1
reset ×1
rest ×1
silverlight ×1
unit-testing ×1
validation ×1
web-services ×1
wpf ×1
xbap ×1