相关疑难解决方法(0)

ASP.net MVC v2 - 调试模型绑定问题 - BUG?

我试图调试为什么MVC在给定的情况下没有正确绑定我有一点点困难我...

基本上,我有我的动作接收一个复杂的对象,而这个对象又有一个复杂的子对象 - Activity.Location.State(其中Activity是动作所期望的复杂对象,Location是一个复杂的子对象,State只是一个字符串) .

现在我建立了一个测试项目,据我所知,我确切地模仿了我的实际场景,在这个测试用例中绑定有效...但在我的实际项目中,绑定到Activity工作但不是位置...通过在Locaiton属性中放置断点,我可以告诉MVC从Activity中检索复杂的Location对象,但它没有设置任何属性......

我正在尝试调试这个问题,但我需要访问MVC v2预览2符号,这些符号似乎无法跟踪...我希望看到它实际上做了什么,一旦它拉出位置对象(对于一些我之所以认为它可能在内部失败但吞下这个例外).

关于我在这里可以做什么的任何想法......

干杯安东尼

更新:

好的我做了JW建议并直接引用MVC项目......

我发现了这个问题,并且我忽略了一个非常小的差异......正如我的结果我发现当涉及到模型绑定时,MVC当前不支持多层INTERFACE继承...请参阅以下内容......

//MODEL
public class Location : ILocation
{
    ...
}

public interface ILocation : ILocationCore
{
    ...
}

public interface ILocationCore    //In my sample I didn't have this second level interface
{
    ...
    //MVC doesn't find any of these properties
    ...
}


public class Activity : IActivity
{
    ...
}

public interface IActivity : IActivityCore
{
    ILocation Location { get; set; }   //MVC finds this and reads its …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc modelbinders asp.net-mvc-2

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

MVC 5 中的接口问题“无法创建接口实例”

嗨,我正在尝试使用以下代码在我的 MVC 5 项目中使用接口:

public ActionResult Index(IAccountController AccountInterface) 
{
    var DynamicID_DDL = AccountInterface.IDMethod(); 
    var model = new loggedinViewModel
    {
        bIDlistItems = new SelectList(DynamicID_DDL)
    };
    ViewBag.DynamicID_DDL = new List<ID>(DynamicID_DDL);            
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

&

界面

public interface IAccountController
{
    languageSetting[] languageSettingMethod();
    ID[] IDMethod();
}
Run Code Online (Sandbox Code Playgroud)

但是我收到错误:

无法创建接口的实例。

为什么会发生这种情况,我该如何解决?

c# asp.net-mvc

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

标签 统计

asp.net-mvc ×2

asp.net ×1

asp.net-mvc-2 ×1

c# ×1

modelbinders ×1