小编Chr*_*ers的帖子

使用asp.net mvc连接html属性

使用带连字符的属性创建元素而不是使用时,是否有更好的语法:

<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
Run Code Online (Sandbox Code Playgroud)

查看HTML 5和WIA ARIA提议标准的HTML规范,似乎HTML属性中的连字符被设计为更常见的某种简单的名称间距.

例如,HTML 5建议使用自定义属性作为前缀,data-WIA ARIA使用aria-所有WIA ARIA属性的前缀.

在ASP.NET MVC中使用HTML帮助程序时,例如<%= Html.TextBox("name", value, new { attribute = attributeValue }) %>将匿名对象转换为字典.

不幸的是,在C#中,名称中不支持连字符,因此唯一的选择是创建字典.其语法非常详细,有没有人看到更好的替代方法或改变ASP.NET MVC的HTML扩展功能的简单方法,而无需重写整个扩展?

c# asp.net-mvc

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

审计触发器中的当前事务ID

我正在考虑从审计触发器存储某种形式的事务id.解决方案似乎是使用sys.dm_tran_current_transaction,如本文后面的SQL Server触发器 - 按事务分组.

但是,我不能使用它,因为运行sql语句的用户帐户将不具有"查看服务器状态"权限并导致错误:

Msg 297, Level 16, State 1, Line 3
The user does not have permission to perform this action.

有没有人知道这个视图的替代方法,它将提供类似的事务ID或在触发器上使用"WITH EXECUTE AS"的方法,以允许从该视图中进行选择.

从我对"WITH EXECUTE AS"的尝试看来,服务器级权限似乎没有被转移,这是预期的,因为它模仿了数据库用户.

t-sql sql-server

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

DACPAC和SQL序列

我有一个Visual Studio数据库项目(DACPAC),其中包含许多SQL序列.但是,当我部署DACPAC时,它总是将序列值重置为Create脚本中包含的默认值(在本例中为1).例如

CREATE SEQUENCE [dbo].[MySequence]
AS INT
START WITH 1
INCREMENT BY 1;
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议一种方法来指示DACPAC忽略序列起始值,或者某种方式让DACPAC恢复正确的值作为部署后的步骤吗?

提前致谢

sql-server visual-studio dacpac sqlpackage sql-server-data-tools

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

NUnit,针对多种文化进行测试

使用NUnit我希望针对多种文化在某个项目中运行所有测试.

该项目处理解析应该是文化中立的数据,以确保我想针对多种文化运行每个测试.

我目前的解决方案是

public abstract class FooTests {
    /* tests go here */
}

[TestFixture, SetCulture ("en-GB")] public class FooTestsEN : FooTests {}
[TestFixture, SetCulture ("pl-PL")] public class FooTestsPL : FooTests {}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我不应该创建这些类,而是使用类似的东西:

[assembly: SetCulture ("en-GB")]
[assembly: SetCulture ("pl-PL")]
Run Code Online (Sandbox Code Playgroud)

culture nunit

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

在构造函数上设置断点

我试图用设置在一类的构造函数断点在外部装配Debug,New Breakpoint,Break at function.

我已经尝试过使用这两个.ctorctor作为函数名称,但都不起作用

  • System.Web.Mvc.ViewResult..ctor
  • System.Web.Mvc.ViewResult.ctor
  • System.Web.Mvc.ViewResult.ViewResult

如果班级有多个控制器,那么这将有效;

  • System.Web.Mvc.HttpUnauthorizedResult.HttpUnauthorizedResult

在某些情况下,Visual Studio将构造函数名称显示为类名,例如with HttpUnauthorizedResult,但在其他情况下,它会显示构造函数名称,.ctor例如with System.Uri.


断点 -  System.Uri

断点

c# breakpoints visual-studio-2010

5
推荐指数
0
解决办法
1625
查看次数

部署dacpac时更改逻辑和物理文件名

使用SqlPackage.exe首次部署dacpac时,如何控制新数据库的逻辑和物理文件名.

标准的SQL语句是:

CREATE DATABASE Bar
ON PRIMARY (NAME = 'Foo', FILENAME = '...\Foo\Foo.mdf')
LOG ON (NAME = 'Foo_log', FILENAME = '...\Foo\Foo.ldf')
Run Code Online (Sandbox Code Playgroud)

sql-server dacpac sql-server-data-tools

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

XmlMassUpdate - 替换值节点

我正在尝试使用XmlMassUpdate根据构建版本类型更新我的配置文件.似乎没有关于如何在任何地方更新新的app.config(vs2008)设置格式的文档.

这是配置部分:

<applicationSettings>
<CTC.Mica.ClientService.Properties.Settings>
  <setting name="PipeName" serializeAs="String">
    <value>\\.\pipe\micaPipe</value>
  </setting>
  <setting name="CTC_Mica_ClientService_MicaWebService_MicaWebService"
      serializeAs="String">
    <value>URL</value>
  </setting>
</CTC.Mica.ClientService.Properties.Settings>
</applicationSettings>
Run Code Online (Sandbox Code Playgroud)

我正在尝试更新此文件中的URL值:

<Debug>
    <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String">
      <value>DEVURL</value>
    </setting>
</Debug>

<Test>
    <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String">
      <value>TESTURL</value>
    </setting>
</Test>

<Release>
    <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String">
      <value>LIVEURL</value>
    </setting>
</Release>
Run Code Online (Sandbox Code Playgroud)

运行脚本,我可以替换"name"或"serializeAs"属性,但不能替换值节点.

我将如何更换价值节点?

问候

msbuild app-config xmlmassupdate

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

安装32位和64位绑定

我在Visual Studio中使用gulp在Windows上构建sass文件.这使用了具有64位和32位绑定的libsass.

Visual Studio在32位上下文中运行,因此安装并需要32位libsass.但是,从命令行运行msbuild时,需要64位版本的libsass.

这意味着我不断收到错误libsass bindings not found in ...\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling node-sass(或者win32-x64-14从命令行中获得错误).

npm install从不同的上下文运行不起作用,因为npm认为模块已经完全安装.

目前我发现的唯一解决方案是不断删除整个node_modules文件夹并每次重新安装所有软件包.

理想情况下,我想同时安装32位和64位软件包.

node.js npm

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

在NHibernate中使用OffsetDateTime

我正在尝试将NodaTime的OffsetDateTime类型映射到SQL Server,但我不确定如何解决NodaTime OffsetDateTime和SQL Server DateTimeOffset类型之间的阻抗.

我的主要问题是让LINQ支持正常工作,因为OffsetDateTime没有比较运算符,如<.系统在处理平等方面也有所不同.NodaTime考虑时间瞬间和偏移量,而SQL Server仅考虑时间瞬间.

2015-12-24 11:18+01:002015-12-24 10:18+00:00被认为是在SQL Server平等的,但不是NodaTime相等.

我考虑ICompositeUserType过将UTC日期/时间和偏移量存储在单独的列中(类似于SQL Server 2008之前),但OffsetDateTime没有UTC/Instant属性.因此,我无法看到如何让date.ToInstant()LINQ查询正确映射到中的属性ICompositeUserType.

nhibernate nodatime

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