小编Pas*_*cal的帖子

您是否在asp.net mvc应用程序的控制器或业务服务中捕获了预期的异常

我正在开发一个asp.net mvc应用程序,其中user1可以删除user2之前刚刚加载的数据记录。User2更改此不存在的数据记录(更新),或者在违反了外键约束的另一个表中对此数据进行插入。

您在哪里捕捉到这种预期的例外?

在asp.net mvc应用程序的控制器中还是在业务服务中?

只是一个旁注:如果它的ForeignKey约束异常告诉用户另一个用户已删除某个父记录,因此他不能创建测试计划,则仅在此处捕获SqlException。但是此代码尚未完全实现!

控制器

  public JsonResult CreateTestplan(Testplan testplan)
  {
   bool success = false;
   string error = string.Empty;

   try
  {
   success = testplanService.CreateTestplan(testplan);
   }
  catch (SqlException ex)
   {
   error = ex.Message;
   }
   return Json(new { success = success, error = error }, JsonRequestBehavior.AllowGet);
  }
Run Code Online (Sandbox Code Playgroud)

要么

商业服务:

public Result CreateTestplan(Testplan testplan)
        {
            Result result = new Result();
            try
            {
                using (var con = new SqlConnection(_connectionString))
                using (var trans = new TransactionScope())
                {
                    con.Open();

                    _testplanDataProvider.AddTestplan(testplan);
                    _testplanDataProvider.CreateTeststepsForTestplan(testplan.Id, testplan.TemplateId);
                    trans.Complete();
                    result.Success …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc exception-handling

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

为4个边框中的每个边框创建边框渐变

我想为每个边框创建相同的线性渐变.

5种颜色的边框渐变

transparent to white to black to white to transparent
Run Code Online (Sandbox Code Playgroud)

那样我就有了透明的角落.

如何为所有4个边框执行此操作?

是否可以为边界指定线性渐变?

在此输入图像描述

旁注:它应该在没有太多努力的情况下运行IE9 +其他IE10 +:P

html css css3 less css-shapes

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

以编程方式更改md-select中的所选项目

我想最初(在页面加载时)在md-select中设置当前的schoolclass项.

此代码设置选定的学校类,但不会在md-select视觉上反映出来.

$scope.selectedSchoolclass = schoolclasses.length > 0 ? schoolclasses[0] : null;

<md-input-container>
    <label>Schoolclasses</label>
    <md-select ng-model="selectedSchoolclass"  md-on-close="getPupils()">
        <md-option ng-repeat="s in schoolclasses" ng-value="{{s}}">
            {{s.schoolclassNumber}}
        </md-option>
    </md-select>
</md-input-container>
Run Code Online (Sandbox Code Playgroud)

当我使用md-selected="$first"它然后在视觉上选择,md-select但我得到一个计算属性的错误,似乎首先在$ first之前评估.因此,我不能将第一个学校课程设置为html中选定的学校课程.我必须通过控制器中的JS来完成它.

我怎样才能做到这一点?

angularjs angular-material

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

Url.Link 始终返回在 asp..net web api 中使用的 null

我想为从 REST Api 返回的 DTO 创建一些超链接。

变量url始终为空,我不知道为什么?!

为什么没有创建网址,我还缺少什么?

路由的名称是GetStatusFeedback正确的,我也使用 Action 和 Controller 作为路由参数 + leadIdparam!

public class ValuesController : ApiController
{
    [Route("")]
    [HttpGet]
    public IHttpActionResult Get()
    {
        var leadsFromDataBase = new List<Lead> { new Lead { Id = 1 }, new Lead { Id = 2 } };
        var leadDtos = new List<LeadDto>();
        foreach (var lead in leadsFromDataBase)
        {
            var leadDto = new LeadDto();
            string url = Url.Link("GetStatusFeedback", new { LeadId = lead.Id, Action = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api asp.net-web-api-routing

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

使用集成测试的排列法断言模式

使用"排列法"断言应该在"排列"部分中应该考虑这是对我的数据库的集成测试?

private void Delete_Release_Test_Data(string conString)
        {
            UnitTestHelper.PrepareData(new[] { "ReleaseId" }, new object[] { 100 });
            UnitTestHelper.InsertPreparedData(conString, RELEASE_TABLE);
        }

        [Test]
        public void Delete_Release(string conString)
        {
            Delete_Release_Test_Data(conString);

            // ARRANGE
            // What should I put here ???

            // ACT
            IReleaseDataProvider provider = new ReleaseDataProvider();
            provider.DeleteRelease(100);

            // ASSERT
            Assert.IsTrue(UnitTestHelper.HasNoData(conString, string.Format("SELECT * FROM {0}", RELEASE_TABLE)));
        }
Run Code Online (Sandbox Code Playgroud)

c# integration-testing unit-testing arrange-act-assert

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

枚举时修改了集合

可能重复:
收集已修改; 枚举操作可能无法执行

我有一个通用列表,我在枚举时执行一些操作.

foreach(Action<string> action in actionList) 
{
    if(action != null) {
        action(mystring);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我得到这个例外:

InvalidOperationException:
Collection was modified; enumeration operation may not execute
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题,我紧紧抓住.NET 3.5:/

c# action list thread-safety

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

甚至不能设置引导模式标题标题

当我单击 CreateTemplate-Button 时,对话框显示没有背景但标题没有改变,为什么?

即使我删除了标题类的 h4 标签,也没有设置标题。

  $('#CreateTemplate').click(function (e) {
            e.preventDefault();
            $('#myModal').modal({ backdrop: false, title: "Hello World" });
        });

<button type="button" class="btn btn-default" id="CreateTemplate"><i class="fa fa-plus"></i></button>


   <!-- Modal -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                    <h4 class="modal-title" id="myModalLabel">Thats the title</h4>
                </div>
                <div class="modal-body">
                    ...
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
                    <button type="button" class="btn btn-primary">Save changes</button>
                </div>
            </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
    </div><!-- /.modal -->
Run Code Online (Sandbox Code Playgroud)

bootstrap-modal twitter-bootstrap-3

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

create async unit test抛出聚合异常

我需要更改什么才能使此异步单元正确运行?

此刻我得到了一个 'System.AggregateException'

我已经读过,我不应该用asnyc标记一个测试方法,并在SUT前面添加'await',因为断言将失败,因为结果尚未返回.

[TestMethod]
public void CreateAsyncViewModel()
{
    // other stuff
    var result =  vmMapper.CreateViewModel(mock1,mock2);
    result.Wait();

    var viewModel = result.Result;

    Assert.AreEqual(viewModel.Data.Count(), 1);

}
Run Code Online (Sandbox Code Playgroud)

c# async-await c#-5.0

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

Url.Action 生成错误的 url

我使用 Url.Action 方法生成 Url 字符串。

在此输入图像描述

这就是结果:

"/Home/GetRejectTest/0?IsSelected=False"
Run Code Online (Sandbox Code Playgroud)

控制器和操作名称是正确的,但查询参数搞砸了。这是因为该操作没有 RouteAttribute 因此生成了查询参数吗?

我的行动:

   public ActionResult GetRejectTest(Test test)
        {
            return new EmptyResult();

        }
Run Code Online (Sandbox Code Playgroud)

测试类具有 Id、Name、IsSelected 这 3 个属性。

我的路线定义:

 routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

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

实体框架核心迁移不能与类库一起使用吗?

我有一个 ASP.NET 核心项目“Api”,其目标是:

<TargetFramework>net471</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

该项目引用另一个类库项目“Repository”,目标为:

<TargetFramework>netstandard1.4</TargetFramework>
Run Code Online (Sandbox Code Playgroud)

“Api”项目的配置如下:

services
.AddEntityFrameworkSqlServer()
.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"),
    b => b.MigrationsAssembly("Repository"))
)
.AddScoped(p => new ApplicationDbContext(p.GetService<DbContextOptions<ApplicationDbContext>>()));
Run Code Online (Sandbox Code Playgroud)

当我在 PMConsole 中时,我输入:

添加-迁移初始

然后我得到这个错误:

Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[0]
add-migration : Exception calling "Substring" with "1" argument(s): "StartIndex cannot be less than zero.
Parameter name: startIndex"
At line:1 char:1
+ add-migration
+ ~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Add-Migration], MethodInvocationException
    + FullyQualifiedErrorId : ArgumentOutOfRangeException,Add-Migration
Run Code Online (Sandbox Code Playgroud)

我有什么错吗?

entity-framework-core asp.net-core-2.0 entity-framework-migrations

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

为什么routerLink会在超链接中生成"已损坏"的网址

我有这个带有routerLink指令的按钮,当我点击它时它工作正常:

 <button type="button" class="btn btn-secondary" [routerLink]="['/companies', id, 'departments', 'edit', t.id]">Edit department</button>
Run Code Online (Sandbox Code Playgroud)

那我有这个超链接:

<a class="nav-link" routerLink="['/companies', id, 'departments']" routerLinkActive="active">Show departments</a>
Run Code Online (Sandbox Code Playgroud)

当我将鼠标悬停在其上时,创建的网址并不是我所期望的.

我有的网址: http://localhost:4200/#/%5B'/companies'%2C%20id%2C%20'departments'%5D

1.)为什么routerLink创建的链接/ url的输出不同?这两种方案都必须创建一个有效/可用的URL才能导航到.

2.)我该如何解决这个问题?

angular2-routing angular

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

我是否需要使用ajax应用程序提交按钮

将数据发布到服务器需要表单标记.

但是当我使用ajax/jquery时,我还需要一个"submit"类型的按钮吗?

我可以不打断按钮点击并执行我自己的ajax请求吗?

html javascript forms

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