小编Dmy*_*tro的帖子

如何迭代SAFEARRAY**

如何迭代C++ safearray指针指向并访问其元素.

我试图复制发表林生物LIONG解决 http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/022dba14-9abf-4872-9f43-f4fc05bd2602 但奇怪的是,该IDL方法签名出来了

HRESULT __stdcall GetTestStructArray([out] SAFEARRAY ** test_struct_array);
Run Code Online (Sandbox Code Playgroud)

代替

HRESULT __stdcall GetTestStructArray([out] SAFEARRAY(TestStruct)* test_struct_array);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

提前致谢

c++ com safearray

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

在视图模型中使用存储库是否可以?

假设我有复杂的视图模型,其中包含很多数据,例如国家/地区,产品,类别等列表,每次创建ViewModel时我都需要从数据库中获取这些数据.

主要的问题我想解决的是,当我处理POST行为和一些TestModel被张贴与不正确的值,这会导致ModelState.IsValidfalse,那我也回以目前公布的模型同样的观点.这迫使我再次获取我的类别列表,因为我在GET操作中这样做.这在控制器中添加了大量重复的代码,我想删除它.目前我正在做以下事情:

我的模型和视图模型:

模型,存储在数据库中的实体:

public class Category
{
    public int Id { get; set; }
    public string Name { get; set; }

    public IEnumerable<Category> SubCategories { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

查看型号:

public class CategoryModel
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public class TestModel
{
    [Required]
    [MaxLength(5)]
    public string Text { get; set; }

    public int SelectedCategory { get; set; }
    public IEnumerable<CategoryModel> Categories { …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc viewmodel

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

如何通过jquery ajax和C#下载文件

我想使用jQuery Ajax web方法下载文件,但它不起作用.

这是我对web方法的jQuery ajax调用:

function GenerateExcel() {
   var ResultTable = jQuery('<div/>').append(jQuery('<table/>').append($('.hDivBox').find('thead').clone()).append($('.bDiv').find('tbody').clone()));
   var list = [$(ResultTable).html()];
   var jsonText = JSON.stringify({ list: list });
   $.ajax({
          type: "POST",
          url: "GenerateMatrix.aspx/GenerateExcel",
          data: jsonText,
          contentType: "application/json; charset=utf-8",
          dataType: "json",
          success: function (response) {

          },
          failure: function (response) {
               alert(response.d);
          }
            });
        }
Run Code Online (Sandbox Code Playgroud)

这是Web方法定义:

[System.Web.Services.WebMethod()]
public static string GenerateExcel(List<string> list)
{
    HttpContext.Current.Response.AppendHeader("content-disposition", "attachment;filename=FileEName.xls");
    HttpContext.Current.Response.Charset = "";
    HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
    HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
    HttpContext.Current.Response.Write(list[0]);
    HttpContext.Current.Response.End();
    return "";
} 
Run Code Online (Sandbox Code Playgroud)

如何完成它?请帮帮我.
还有一件事:我想在客户端PC上下载它,而不是将其保存在服务器上.

c# jquery webmethod

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

为什么resharper 7测试会话窗口不显示Visual Studio 2012中的单元测试总执行时间?

当我运行单元测试并按下时启用测试执行时间显示

在此输入图像描述

此按钮,Resharper显示每个测试的执行时间,但不显示摘要执行时间,如下一个屏幕截图所示.我的问题是为什么以及如何修复或设置?

在此输入图像描述

resharper unit-testing visual-studio

8
推荐指数
0
解决办法
1350
查看次数

如果链接文本包含html,如何在ASP .NET MVC Razor视图引擎中使用@ Html.ActionLink()生成链接?

可能重复:
Razor语法阻止在动作链接中转义html

如何使用ASP.NET MVC Razor视图引擎@Html.ActionLink()方法生成包含图像的链接.此方法将内部链接文本作为第一个参数,因此我尝试了:

@{
string linkInnerHtml = string.Format("<img src=\"{0}\" /> Tiles", MyClass.GetImgSrc());
}
@Html.ActionLink(linkInnerHtml, "action" ... )
Run Code Online (Sandbox Code Playgroud)

但是,结果,我得到了<img src="/source.img" /> Tiles内部文本的链接.HTML没有渲染.

c# asp.net-mvc razor

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

如果使用ASP .Net Identity登录外部登录提供程序,如何保存用户上次登录日期?

每次用户登录时,我都会AspNetUser使用LastLoginDate属性扩展类.

public sealed partial class User : IdentityUser<int, UserLogin, UserRole, UserClaim>, IUser<int>, IDatabaseEntity
{
    ...
    public DateTime? LastLoginDate { get; set; }   
}
Run Code Online (Sandbox Code Playgroud)

每次用户使用电子邮件和密码作为登录凭据进行常规登录时,记录工作正常.在AccountController我的登录操作中:

[HttpPost]
public ActionResult Login(LoginModel model)
{
    ...
    var result = SignInManager.PasswordSignIn(model.Email, model.Password, model.RememberMe);

    if (result == SignInStatus.Success)
    {
        var user = UserManager.FindByEmail(email);
        UserManager.RememberLoginDate(user);  
        return Redirect(model.ReturnUrl);
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

RememberLoginDate只是一种扩展方法,基本上只是将当前时间设置为用户LastLoginDate 属性:

public static IdentityResult RememberLoginDate(this ApplicationUserManager manager, User user)
{
     user.LastLoginDate = DateTime.UtcNow;;
     return manager.Update(user);
}
Run Code Online (Sandbox Code Playgroud)

但是当我像下面那样进行外部登录时:

[AllowAnonymous]
public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc login asp.net-identity

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

是否可以在C#中创建扩展运算符?

所以基本的想法是:

我们有一些商业模式

public class Model
{
    public int Foo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

它是视图模型表示

public class ViewModel
{
    public string Foo { get; set; }

    public static explicit operator ViewModel(Model b)
    {
        // Map instances using AutoMapper or whatever
        return new ViewModel { Foo = b.Foo.ToString() };
    }
}
Run Code Online (Sandbox Code Playgroud)

我们的基本直觉是将模型映射到视图模型.正如您所看到的,我想使用explicit operator我可以执行的映射

var model = new Model { Foo = 42 }; // Get model
var viewModel = (ViewModel)model;   // Map to view model
Run Code Online (Sandbox Code Playgroud)

因此我的控制器代码尽可能干净...... 我想使视图模型和映射逻辑保持分离.如何将explicit …

c#

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

如何在Entity Framework代码第一个数据库中手动设置实体主键?

好吧,我有以下模型结构:我有一个类 - DatabaseEntity基本上

public class DatabaseEntity
{
    public int Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

所以像产品,类别等每个实体都会继承DatabaseEntity并拥有Id财产.我也有典型的EntityFramework存储库类和InsertOrUpdate方法:

private readonly DbContext _database;

public void InsertOrUpdate<TObject>(TObject entity) where TObject : DatabaseEntity
{
    if(entity.Id == default(int))
    {
         // New entity
         DbSet<TObject>().Add(entity);
    }
    else
    {
         // Existing entity
         _database.Entry(entity).State = EntityState.Modified;
    }
    _database.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

然后我从eBay下载eBay api列表中的categoies我必须添加到数据库中.基本上类别是:

public class EbayCategory : DatabaseEntity
{
    // It has Id since it inherits DatabaseEntity
    public string Name { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework primary-key

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

在UWP WebView中显示本地html文件内容

我相信这是非常简单的任务,我在网上看到了很多例子,但是由于我遇到了不同的例外,它们中没有一个能为我工作.

HTML:

<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <p>
        Help html content.
    </p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

XAML:

<Grid>
        <Grid.RowDefinitions>
            <RowDefinition/>
            <RowDefinition Height="30"/>
        </Grid.RowDefinitions>

        <WebView x:Name="webView" />
        <Button x:Name="buttonRefresh" 
                Grid.Row="1" 
                HorizontalAlignment="Center"
                Click="buttonRefresh_Click">
            Refresh
        </Button>
    </Grid>
Run Code Online (Sandbox Code Playgroud)

help.html在我的UWP应用程序LocalFolder中显示保存在文件中的静态html ,我已经尝试过以下操作:
- 使用Navigate方法:

private void buttonRefresh_Click(object sender, RoutedEventArgs e)
        {
            var uri = new Uri("ms-appdata:///local/help.html");
            webView.Navigate(uri);
        }
Run Code Online (Sandbox Code Playgroud)

结果是以下异常:

System.ArgumentException: Value does not fall within the expected range.
   at Windows.UI.Xaml.Controls.WebView.Navigate(Uri source)
   at SimpleUwpApp.Proxy.SimplerPage.buttonRefresh_Click(Object sender, RoutedEventArgs e)
Run Code Online (Sandbox Code Playgroud)


- 尝试在后面的代码中显式设置webView的Source属性:

private void buttonRefresh_Click(object sender, …
Run Code Online (Sandbox Code Playgroud)

c# webview uwp uwp-xaml

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

一个用于从Set中获取子列表的衬垫

是否有一个单行(可能来自Guava或Apache Collections)从一组中获取子列表.在内部它应该做这样的事情:

public <T> List<T> sublist(Set<T> set, int count) {
  Iterator<T> iterator = set.iterator();
  List<T> sublist = new LinkedList<T>();
  int pos = 0;
  while (iterator.hasNext() && pos++ < count) {
    sublist.add(iterator.next());
  }
  return sublist;
}
Run Code Online (Sandbox Code Playgroud)

显然,如果没有足够的元素,它必须尽可能多地返回.

java guava apache-commons-collection

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