小编luk*_*eli的帖子

Gson - 基于字段值反序列化为特定对象类型

我想基于type字段值将json对象反序列化为特定类型的对象(使用Gson库),例如:

[
    {
          "type": "type1",
          "id": "131481204101",
          "url": "http://something.com",
          "name": "BLAH BLAH",
          "icon": "SOME_STRING",
          "price": "FREE",
          "backgroundUrl": "SOME_STRING"
    },
    {
        ....
    }
]
Run Code Online (Sandbox Code Playgroud)

因此,type字段将具有不同(但已知)的值.基于该值,我需要将该json对象反序列化为适当的模型对象,例如:Type1Model,Type2Model等.我知道我可以在反序列化之前通过将其转换为JSONArray迭代来解决它并轻松解析应该反序列化的类型. .但我认为这是一种丑陋的方法,我正在寻找更好的方法.有什么建议?

java json gson deserialization

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

如何锁定滚动条并使其可见

当用户点击任何公寓时,我会出现一个对话框.你可以在这里查看它的工作原理:点击这里

我想要做的是在视口高度大于550px时锁定滚动条.现在我应用于overflow:hiddenbody,但这会导致站点在滚动条隐藏时跳转.我想禁用滚动,但仍显示滚动条.可能吗?

提前致谢!

javascript css scrollbar

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

如何全球改变路线?

我想在MVC 3中切换两种语言 - PL和EN.我在Views-EN和PL中创建了两个文件夹.因此,在任何网站点击相应的语言链接后,我希望我的路线更改为:

routes.MapRoute(
                "pl", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "PL", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
Run Code Online (Sandbox Code Playgroud)

至:

routes.MapRoute(
                "en", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "EN", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
Run Code Online (Sandbox Code Playgroud)

当我单击适当的链接(语言切换器)时,它会更改对所有线程持久的CultureInfo._Layout View with切换器:

<ul>
    <li>@Html.ActionLink("En", "ChangeCulture", null, new { lang = "en"}, null)</li>
    <li>@Html.ActionLink("Pl", "ChangeCulture", null, new { lang = "pl"}, null)</li>
</ul> …
Run Code Online (Sandbox Code Playgroud)

.net asp.net asp.net-mvc routes asp.net-mvc-3

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

First()方法返回错误的字符串

如何告诉第一个方法是LINQ库的一部分返回正确的值.我有这样的事情:

var query = db.SinglePageContent.Where(q => q.Lang == zm1 && q.PageName == zm2).Select(s => new { s.Content});

//var reqUrl = query.FirstOrDefault(item => item.Content);
ViewBag.requestUrl = query.First();
Run Code Online (Sandbox Code Playgroud)

现在ViewBag.requestUrl它有价值{ Content = bla bla bla },但我想只有"bla bla bla".我只是不知道如何去那里只检索价值.有任何想法吗?

c# linq

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

悬停不在Internet Explorer中工作

我正在努力使网站兼容> IE8(包括IE).事实证明,悬停效果在任何IE版本中都不起作用.这是我的网站点击

当您导航到"计划"页面时,会出现一个公寓地图.当您将鼠标悬停在两个房间中的一个房间时,它会在其上显示蓝色框(在每个浏览器中,但不在IE中).问题是什么?

这是我正在使用的HTML:

<div id="slide3" class="slide">
    <h1>Wybierz swój lokal</h1>
    <div class="floor-nav">
        <ul>
            <li><a href="#floor0" class="floor-active">0</a></li>
            <li><a href="#floor1" class="floor-inactive">+1</a></li>
        </ul>
    </div>
    <div id="floor-0" class="floor">
        <img src="img/floor-0.png" />
        <a href="#" target="_blank" id="flat-1" class="flat">
            <span class="flat-desc">Lokal <span class="bold">45m²</span></span>
        </a>
        <a href="#" target="_blank" id="flat-2" class="flat">
            <span class="flat-desc">Lokal <span class="bold">25m²</span></span>
        </a>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

还有一些css:

.flat{
    background:none;
    position:absolute;
    display:block;
    color:#ffffff;
    text-align:center;
    font-size:30px;
    text-decoration:none;
    z-index:900;
}

.flat .flat-desc{
    display:none;
    padding-left:38px;
    background:url(../img/plus-sign-white.png) left top no-repeat;
    line-height:20px;
}

.flat:hover{
    background:url(../img/flat-hover-bg.png);
}

.flat:hover .flat-desc{
    display:inline;
}
Run Code Online (Sandbox Code Playgroud)

你知道为什么会这样吗?

css internet-explorer hover

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