小编gis*_*per的帖子

Wix Burn Bundle - 必须是管理员

我创建了一个WIX Burn Bundle.在Bundle我安装.Net 4(如果没有安装),然后再安装2个.msi文件.1是第三部分,另一个是我使用WIX为我的软件创建的msi.我需要成为计算机上的管理员才能运行这些.msi文件.

如果用户不是管理员,我希望Burn捆绑包不做任何事情,即什么都不安装.在我的产品软件中,我可以轻松地使用下面的内容 - 但是我无法在捆绑中执行此操作.我已经阅读了很多类似的帖子,但只是没有找到我想做的工作示例.

<CustomAction Id="IsPrivileged" Error="You must be an Administrator to install [ProductName]." />
  <InstallExecuteSequence>
     <Custom Action='IsPrivileged' Before='LaunchConditions'>
        Not Privileged
     </Custom>
  </InstallExecuteSequence>
Run Code Online (Sandbox Code Playgroud)

installer windows-installer wix

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

实体框架 - Linq NOT IN查询

我已经看到其他几个帖子提出类似问题,但坦率地说我很困惑.我正在尝试在EntityFarmework和Linq中执行以下sql语句,但是无法使'NOT IN'和'UNION'正常工作

SELECT LmsTeam.* FROM LmsTeam
INNER JOIN Game ON LmsTeam.GameId = Game.ID 
WHERE LmsTeam.Id NOT IN 
(SELECT TeamHomeId as TeamID FROM LmsEventMatch WHERE EventId =1
UNION
SELECT TeamAwayId as TeamID FROM LmsEventMatch WHERE EventId =1)
AND LmsTeam.GameId = 1 AND LmsTeam.Active = 1
Run Code Online (Sandbox Code Playgroud)

所以我已经得到了join如下所示的where子句但不能执行NOT INUNION子句.

from t in LmsTeams
join g in Games on t.GameId equals g.Id
  where t.GameId == 1 && t.Active == true
  select t
Run Code Online (Sandbox Code Playgroud)

.net linq entity-framework

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

MVC - 将IDictionary或RouteValueDictionary转换为对象htmlAttributes

我创建了一个HTML Helper扩展,它在MVC中调用编辑模板部分视图(MyView).

我通过对象htmlAttributes参数将其他HTML属性传递给HTML Helper扩展.在HTML Helper扩展中,htmlAttributes被转换为RouteValueCollection(可以在这里使用IDictionary)并存储在ModelProperty对象中:

public static MvcHtmlString TextBoxFor(this HtmlHelper html, ModelProperty prop, object htmlAttributes)
{
    prop.ControlHtmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
    return PartialExtensions.Partial(html, "MyView", prop);
}
Run Code Online (Sandbox Code Playgroud)

在'MyView'部分视图中,我想渲染控件并使用传递的HTML属性,因此我调用:

Html.TextArea(Model.ControlName, Model.Value, Model.ControlHtmlAttributes);
Run Code Online (Sandbox Code Playgroud)

但是这个dosnt的工作原理是因为第3个参数应该是'object htmlAttributes'如何将Model.ControlHtmlAttributes转换为对象htmlAttibutes?

.net c# asp.net-mvc

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

Kendo Ui - 检查事件是否存在

我正在使用带有.Net MVC的Kendo Ui控件.我希望能够在javascript中检查控件上是否存在事件.例如,我声明了一个如下对话窗口.在其他地方我声明对话框但不添加刷新事件.如何检查javascript是否存在刷新事件?

      @(Html.Kendo().Window()
  .Title("Clone Existing Address")
  .Name("myDialog")
  .Modal(true)
  .Draggable()
  .Resizable()
  .Width(800)
  .Visible(false)
  .Actions(actions => actions
    .Minimize()
    .Maximize()
    .Close()
  )
  .Events(e => e.Refresh("refreshDialog"))
)
Run Code Online (Sandbox Code Playgroud)

示例javascript:这个dosnt工作了!!

function refreshEventExists() {
  var dialog = $("#myDialog").data("kendoWindow");
  if (dialog.refresh) {
    alert('Refreh event exists');
  }
  else {
    alert('Refreh event DOES NOT exists');
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript kendo-ui

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

Moq - 调用原始方法实现但更改输入参数之一

我在一些集成测试中使用 Moq(更新不属于我自己的现有测试脚本和代码),并且我正在测试一个 BuinessService,其中注入了一个发送电子邮件的电子邮件接口。

public interface IEmailService
{
    void CreateMailItem(string To, string Subject, string Body);
    string GetEmailAddress(string staffmember);
}
Run Code Online (Sandbox Code Playgroud)

最初我只是 Moq'd IEmailService接口并且工作正常,但由于代码的实现方式,我需要调用默认接口实现(即EmailService)进行测试。我知道我不应该。

我知道我可以起订量如下所示的方法,但我想做的是让代码调用原始实现EmailService.CreateMailItem 并仅更改单个参数,以便将电子邮件发送到测试帐户而不是真实帐户。

var emailMock = new Mock<EmailService>() { CallBase = true };
emailMock.Setup(x => x.CreateMailItem("test@test.com", It.IsAny<string>(), It.IsAny<string>()));
email = emailMock.Object;
Run Code Online (Sandbox Code Playgroud)

我可以使用 Moq 调用原始 CreateMailItem 方法,但将“To”参数更改为我的测试电子邮件帐户并保留其他参数不变。

c# moq

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