小编M K*_* II的帖子

无法将帐户添加到VS Azure订阅

我刚从此链接http://go.microsoft.com/fwlink/?LinkID=324322安装了适用于Visual Studio 2013的Azure SDK .当我重新启动Visual Studio,并转到服务器资源管理器时,我看到Azure节点.我右键单击,然后转到管理和过滤Azure订阅.我点击"添加帐户...",没有任何反应.

我正在使用Visual Studio Ultimate 2013,Update 5

PS.我想也许这是我登录到Visual Studio的帐户,所以在右上角,我做了退出,现在我无法重新登录.我明白了:

组件"Microsoft.VisualStudio.Services.Client.Controls.BrowserWindow"没有由URI"/ Microsoft.VisualStudio.Services.Client ;component/controls/browserwindow.xaml"标识的资源.

visual-studio visual-studio-2013

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

尝试在 C# 中读取 Excel 文件文件流,我得到的是数字而不是文本

我正在尝试使用 DocumentFormat.OpenXml 来读取上传的 Excel 文件。当我获取文件 (HttpPosteFileWrapper) 时,我只是尝试读取单元格并将它们写入文本字符串。(稍后我会做更多,但我现在只是想习惯 OpenXml。)

我在 Excel 中的数据如下所示:

Field1 - Field2 - 电话 - 城市
IT 部门 - Emp - 7175551234 - Springfield
HR - Emp - 7175556543 - W Springfield

代码如下所示:

var doc = SpreadsheetDocument.Open(file.InputStream, false);
WorkbookPart workbookPart = doc.WorkbookPart;
WorksheetPart worksheetPart = workbookPart.WorksheetParts.First();
SheetData thisSheet = worksheetPart.Worksheet.Elements<SheetData>().First();
System.Text.StringBuilder text = new System.Text.StringBuilder();
foreach (Row r in thisSheet.Elements<Row>())
{
    foreach (Cell c in r.Elements<Cell>())
    {
        text.Append(c.CellValue.Text + ",");
    }
    text.AppendLine();
}
Run Code Online (Sandbox Code Playgroud)

它创建的字符串如下所示:

49,51,50,0,1,2,3,4,5,6,7,8,9,10,11,12,13,16,14,15,17,18,19,20,21, 22,40,41,42,43,44,45,54,\r\n
52,24,23,25,26,27,7306,33,28,29,30,31,17033,32,34, 7175555555,7175551234,7175554321,7175550000,35,36,37,36526,40179,38,39,30,31,17033,32,55,\r\n …

c# excel memorystream openxml

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

C# 方法可以允许可为 null 的列表作为参数吗?

我正在尝试编写一种允许搜索 ID 列表的方法,但我希望允许该列表是可选的。我见过 的例子,List<string>但我遇到了麻烦List<Guid>

在 LinqPad 中尝试此方法,我收到消息:

无法创建“System.Collections.Generic.List`1[[System.Guid, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]”类型的空常量值。此上下文中仅支持实体类型、枚举类型或基本类型。

方法如下:

public static ICollection<Project> GetProjectsAllowed
(
    this IMkpContext db,
    Guid profileId,
    List<Guid> profOrgIds = null
)
{
    var projects = (from p in db.Project.Include(p => p.Proposals)
                    join po in db.ProfileOrganization on p.CreatedById equals po.ProfileId
                    where (profOrgIds == null || profOrgIds.Contains(po.OrganizationId))
                        && p.IsActive && po.IsActive
                    select p);

    return projects.ToList();
}
Run Code Online (Sandbox Code Playgroud)

更新:感谢您的评论,这就是我所做的:

public static ICollection<Project> GetProjectsAllowed
(
    this IMkpContext db,
    Guid profileId,
    List<Guid> profOrgIds = …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

LINQ Concat子列表在列表中

在我的代码中,我有一个ObjectA列表,每个ObjectA都有一个ObjectB列表.我想获得ObjectAs列表中所有ObjectB的一个列表.

如果我有这个对象:

public class ObjectA
{
    public string Name {get; set;}
    public List<ObjectB> Children {get; set;}
}

public class ObjectB
{
    public string ChildName {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

这段代码:

void Main()
{
    var myList = 
        new List<ObjectA>{
            new ObjectA{
                Name = "ItemA 1", 
                Children = new List<ObjectB>{
                        new ObjectB{ChildName = "ItemB 1"},
                        new ObjectB{ChildName = "ItemB 2"}
                    }
            },
            new ObjectA{
                Name = "ItemA 2", 
                Children = new List<ObjectB>{
                        new ObjectB{ChildName = "ItemB 3"},
                        new ObjectB{ChildName = "ItemB 4"}
                    }
            } …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

无法通过证书将对称密钥作为SQL用户帐户打开

我使用这样的证书创建我的密钥:

CREATE SYMMETRIC KEY some_Key_01
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE myCert;
GO

GRANT VIEW DEFINITION ON CERTIFICATE::myCert TO sqlUser;
GO

GRANT VIEW DEFINITION ON SYMMETRIC KEY::some_Key_01 TO sqlUser;
GO

然后我试着打开它,像这样:

OPEN SYMMETRIC KEY some_Key_01
DECRYPTION BY CERTIFICATE myCert;
GO
SELECT CONVERT(datetime, DecryptByKey(EncryptedField))
AS 'DecryptedField'
FROM MyTable;
GO

但我收到的消息是:
Msg 15151, Level 16, State 1, Line 23
Cannot find the certificate 'myCert', because it does not exist or you do not have permission.

encryption certificate sql-server-2008

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

试图在Chrome中调试Javascript

我正在Visual Studio 2013中开发一个MVC Web应用程序,我已经能够浏览应用程序的调试会话并在chrome中点击F12来观看我的javascript.我打开调试窗口,单击Sources选项卡,然后进入我的Content/JS/Script.js文件并设置断点.

最近,我的断点从未被击中.似乎javascript被调用了,但它并没有停止.我注意到如果代码错误,我可以点击错误中的链接,Sources会显示一个名为VM895的文件或类似的东西,这似乎是我的Script.js文件的副本,除了没有我的断点.

除非我的javascript错误,否则我找不到打开该文件的方法.

任何人都可以向我解释为什么会这样吗?为什么不使用我在实际脚本文件中放置的断点,以及可能发生了什么变化?

据我所知,eval我的Javascript中没有使用任何地方.

这是我的MVC/Razor:

<div class="col-md-5">
    @Html.DropDownListFor(model => model.SelectedRoleId,
        ViewBag.ReviewRoles as SelectList,
        new { @class = "form-control", onchange = "OnChangeAjaxAction.call(this, 'reviewRole');", id = "ddlReviewRole" })
</div>
Run Code Online (Sandbox Code Playgroud)

这是来自浏览器的渲染源:

<select 
        class="form-control" data-val="true" 
        data-val-number="The field SelectedRoleId must be a number." 
        data-val-required="The SelectedRoleId field is required."
        id="ddlReviewRole" 
        name="SelectedRoleId" 
        onchange="OnChangeAjaxAction.call(this, 'reviewRole');">
    <option value="14">Reviewer</option>
    <option value="42">Erb Reviewer</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这是Javascript:

OnChangeAjaxAction = function(e) {
    var form = this.form;
    //e.preventDefault(); //This prevents the regular form submit
    var formData = new FormData($(form).get(0)); …
Run Code Online (Sandbox Code Playgroud)

javascript debugging google-chrome

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

我可以用Guid代替{controller} \ {action} \ {id}来执行{controller} \ {id}

我希望设置简单的路由,以便{controller} / {id}将默认为{controller} / details / {id}。我已经在这篇文章中进行了设置:ASP.NET MVC 4路由-controller / id vs controller / action / id

但是那篇文章暗示了工作的路线,我将需要int{id}值。我们使用Guid ID。

这是我所拥有的:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
        routes.LowercaseUrls = true;
        routes.MapMvcAttributeRoutes(); 

        routes.MapRoute
        (
            name: "Detail",
            url: "{controller}/{id}",
            defaults: new { action = "Details", id = UrlParameter.Optional }
        );

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

我可以使用Guid身份证吗?

asp.net-mvc

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

为什么将 RequestUri 作为参数传递与在 HttpRequestMessage 中设置它不同

我有一个 HttpClient (由 IHttpClientFactory 生成),其 BaseAddress 为“www.mydomain.com/3.0/”。我将使用不同的方法使用不同的路径来访问该客户端。所以我首先设置一个 HttpRequestMessage。我注意到这两个实现的行为不同。

这:

var message = new HttpRequestMessage(HttpMethod.Get, $"account-lookup/?query={email}")
{
    Headers =
        {
            { key, value }
        }
};
Run Code Online (Sandbox Code Playgroud)

作品。但是这个:

var message = new HttpRequestMessage()
{
    Method = HttpMethod.Get,
    Headers =
        {
            { key, value }
        },
    RequestUri = new Uri($"account-lookup/?query={email}")
};
Run Code Online (Sandbox Code Playgroud)

返回异常Invalid URI: The format of the URI could not be determined.

我们不能用这样的字符串创建一个新的 Uri,不是吗?为什么我们没有一个属性或方法来让我们传递路径字符串?我假设 HttpRequestMessage 的构造函数在内部将传递的属性附加或连接到 BaseAddress?

我可以/应该做类似的事情
RequestUri = new Uri(Client.BaseAddress + $"account-lookup/?query={email}")
,但是以某种方式附加路径字符串会很好。

c# httpclient httprequest

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

为什么 Html.DisplayFor 不在 IF 语句中工作?

我的 MVC 视图中有这段代码:

<div style="">
    @Html.DisplayFor(modelItem => item.ContentResourceFile.FileName)
    @if (item.ContentResourceFile != null && !string.IsNullOrEmpty(item.ContentResourceFile.FileName))
    {
        Html.DisplayFor(modelItem => item.ContentResourceFile.FileName);
    }
</div>
Run Code Online (Sandbox Code Playgroud)

FileName 的第一个 DisplayFor 工作它在结果中呈现,但 IF 语句中的一个不呈现。

有人可以解释为什么吗?

asp.net-mvc razor

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

Web Api 控制器可以将视图渲染为字符串吗?

我想编写一个 Web Api 控制器操作,根据结果发送电子邮件。我想使用带有数据模型的 MVC 视图或部分视图来呈现电子邮件正文。

有没有办法做到这一点?

我想要这样的东西:

public class NotificationApiController : ApiController
{
    private IMkpContext db;

    public string ViewNotifications()
    {
        var dataModel = GetDataModel();
        if (dataModel != null) 
        {
            SendEmail(dataModel.ToAddress, dataModel.FromAddress, dataModel.Subject, RenderBody("viewName", dataModel);
        }

        return string.Empty;
    }
}
Run Code Online (Sandbox Code Playgroud)

其中 RenderBody 将查找 viewName,用 dataModel 中的数据填充它,并将 View 呈现为字符串。

asp.net-web-api

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