小编use*_*905的帖子

当项目不可观察时刷新observableArray

基本上我有一个observableArray,每个项目的值都不是可观察的.这意味着当我更改项值时,observableArray的foreach循环中的UI不会相应地更新.

如果我必须将它们设置为observable,这意味着一个巨大的变化,那么有没有办法我可以手动刷新UI或observableArray foreach?

knockout.js

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

405消息,Web Api不允许的方法

我在API控制器上有以下内容:

public void UpdateClient(Client client)
    {
        try
        {
            if (ModelState.IsValid)
            {
                db.Entry(client).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
        catch
        {
            throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
        }
    }
Run Code Online (Sandbox Code Playgroud)

以及页面上的以下内容:

$.ajax({
            url: "api/client/UpdateClient",
            type: "PUT",
            contentType: 'json',
            data: ko.toJSON(model.selectedClient()),
            success: function (result) {
                getClients();
                $("#loader").hide();
            },
            failure: function (result) {
                alert(result.d);
                $("#loader").hide();
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                alert("An error occurred, please try again.");
                $("#loader").hide();
            }
        });
Run Code Online (Sandbox Code Playgroud)

但这会给错误405方法不允许,任何人都可以看到我可能出错的地方?作为参考,api的url是可以的,因为我也使用相同的api控制器来执行其他功能.

selectedClient()也是通过WebApi接收的Client对象,因此应该与PUT完全匹配.

asp.net-mvc asp.net-web-api

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

MVC App导致IE9使用旧标准

当我测试我在另一台机器上创建的新的asp.net MVC应用程序时,布局不正确,在IE9中看起来很奇怪.在查看开发人员工具时,模式/标准设置为旧版本甚至兼容模式.我把它改回了IE9,又恢复了.

但是当我重新打开网站时它又重新设置了这些值,是否有一些默认值可以保持覆盖,或者是因为某些原因我的应用程序导致这些值更改为旧版本?

asp.net-mvc internet-explorer-9

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

实体框架无效列

我在SO上看了很多其他问题,但无法得到答案.我在一张名为"性 - 男性"的表格中有一列

我希望得到任何一个名字的人,因为它给了我EF的问题.如果我用这个:

[Column("Sex - Male")]
public bool Sex { get;set; }
Run Code Online (Sandbox Code Playgroud)

这给了我与模型不兼容的错误,因为无法找到"Sex"字段.所以我改为:

[Column("[Sex - Male]")]
public bool Sex { get;set; }
Run Code Online (Sandbox Code Playgroud)

然后我收到消息无效列名[性别 - 男性].EF是否以某种方式重命名具有空格的列,因为该字段确实存在并且不是任何类型的FK?

编辑

我发现在modelBuilder中这样做:

modelBuilder.Entity<Student>().Property(x => x.Sex).HasColumnName("Sex - Male");
Run Code Online (Sandbox Code Playgroud)

导致出现相同的错误,说它不兼容,因为没有名为Sex的列具有相同的名称!我注意到它出现在我使用Column数据注释的任何东西上,而不仅仅是这个字段!

编辑2

我创建了一个新的应用程序,并使用模型设计器来查看它如何解释列并在设计器中将其显示为"Sex___Male",然而,即使用[]在它周围将类更改为此仍然无法找到列性别男??

编辑3

看来错误并不是我想的那样,我发现当我使用db.Students时,映射配置工作正常; 并且列符合预期.原来这个区域出错的是这条线:

var students = (db as IObjectContextAdapter).ObjectContext.ExecuteStoreQuery<Student>(sql);
Run Code Online (Sandbox Code Playgroud)

因此,我猜测的ExecuteStoreQuery显然不会使用相同的映射配置,因此会将列视为缺失.不确定为什么将Column annotation放在类中的属性上却不起作用?

c# entity-framework

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

创建ASP.Net Handler以按字节形式返回Image

我正在寻找创建一个处理程序来返回基于传递的id的图像,我没有创建自己的一个之前和当我创建它时它提到它必须在IIS注册.这个项目分发给很多客户,我是否需要更改每个客户端的IIS或者是否有某种方式来处理这个或处理器的替代方案?

编辑:响应下面,这是我创建(但尚未测试),所以我需要更改IIS或web.config中的任何内容吗?

public class Photos : IHttpHandler
{
    #region IHttpHandler Members

    public bool IsReusable
    {
        get { return true; }
    }

    public void ProcessRequest(HttpContext context)
    {
        //write your handler implementation here.
        var img = Image.FromFile(@"C:\Projects\etc\logo.jpg");
        context.Response.ContentType = "image/jpeg";
        img.Save(context.Response.OutputStream, ImageFormat.Jpeg);
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

c# asp.net

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

将ASP.Net标识集成到WPF中

在线发现了一篇很棒的文章,可以在WPF中获得自定义授权:http://blog.magnusmontin.net/2013/03/24/custom-authorization-in-wpf/

我的问题是,如果我有一个已创建用户的现有asp.net项目,我可以将它们集成到此授权中吗?

.net c# asp.net authentication wpf

6
推荐指数
0
解决办法
3490
查看次数

在新的VS 2013 Identity UserManager中动态添加角色

我在新的VS2013 IDE中创建了一个新的MVC应用程序.我在AccountController上的Login Action中添加了以下内容,因为我想动态创建一个默认用户:

var admin = new ApplicationUser() { UserName = "administrator" };
var result = UserManager.Create(admin, "administrator");
Run Code Online (Sandbox Code Playgroud)

这很好用,然后我想把这个默认用户放到一个新的默认角色:

user = UserManager.FindByName("administrator");
var roleresult = UserManager.AddToRole(user.Id,"admin");
Run Code Online (Sandbox Code Playgroud)

第二行错误,因为它显然找不到角色"admin",因为它还不存在,但我找不到UserManager上的相关方法来这样做.我在哪里可以找到动态添加角色的方法?

asp.net identity asp.net-roles visual-studio-2013

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

WPF窗口 - 何时加载数据,以便立即显示表单

在WPF应用程序中使用Entity Framework,并想知道我是否要将数据加载错误.我在后面的代码中添加了以下内容:

private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        var invoices = db.Invoices.AsNoTracking().ToList();
        listbox1.ItemsSource = invoices;
    }
Run Code Online (Sandbox Code Playgroud)

加载好,没有问题,但是在加载数据之前窗口不会显示,这很乏味.wWindow_load是加载它的最佳方法/时间吗?

c# wpf

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

Knockout的主人/细节

我有一个可观察的Knockout模型阵列.我希望能够显示所选项的详细信息,并保留文本框等绑定到该Knockout项目的模型,可能吗?

knockout.js

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

使用SimpleMembership获取用户信息

仍在尝试用MVC4来掌握新的SimpleMembership.我改变了模型,包括Forename和Surname,它工作得很好.

我想更改登录时显示的信息,而不是在View中使用User.Identity.Name我想做像User.Identity.Forename这样的事情,最好的方法是什么?

asp.net-mvc viewdata login user-data simplemembership

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