我正在开发一个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) 我想为每个边框创建相同的线性渐变.
5种颜色的边框渐变从
transparent to white to black to white to transparent
Run Code Online (Sandbox Code Playgroud)
那样我就有了透明的角落.
如何为所有4个边框执行此操作?
是否可以为边界指定线性渐变?

旁注:它应该在没有太多努力的情况下运行IE9 +其他IE10 +:P
我想最初(在页面加载时)在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来完成它.
我怎样才能做到这一点?
我想为从 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) 使用"排列法"断言应该在"排列"部分中应该考虑这是对我的数据库的集成测试?
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) 可能重复:
收集已修改; 枚举操作可能无法执行
我有一个通用列表,我在枚举时执行一些操作.
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:/
当我单击 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">×</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) 我需要更改什么才能使此异步单元正确运行?
此刻我得到了一个 '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) 我使用 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) 我有一个 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
我有这个带有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.)我该如何解决这个问题?
将数据发布到服务器需要表单标记.
但是当我使用ajax/jquery时,我还需要一个"submit"类型的按钮吗?
我可以不打断按钮点击并执行我自己的ajax请求吗?
c# ×5
asp.net-mvc ×2
html ×2
action ×1
angular ×1
angularjs ×1
async-await ×1
c#-5.0 ×1
css ×1
css-shapes ×1
css3 ×1
entity-framework-migrations ×1
forms ×1
javascript ×1
less ×1
list ×1
unit-testing ×1