小编Mar*_*inS的帖子

Linq选择列表中的对象IN(A,B,C)

我有一份清单orders.
我想orders根据一组订单状态进行选择.

所以基本上 select orders where order.StatusCode in ("A", "B", "C")

// Filter the orders based on the order status
var filteredOrders = from order in orders.Order
                     where order.StatusCode.????????("A", "B", "C")
                     select order;
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-objects list exists

148
推荐指数
4
解决办法
27万
查看次数

Android Fragment生命周期超过方向更改

使用兼容包以使用Fragments定位2.2.

重新编码活动以在应用程序中使用片段后,我无法获得方向更改/状态管理工作,因此我创建了一个带有单个FragmentActivity和单个片段的小型测试应用程序.

方向更改的日志很奇怪,多次调用片段OnCreateView.

我显然缺少一些东西 - 比如分离片段并重新连接它而不是创建一个新实例,但是我看不到任何可以指示我出错的文档.

请问有人能说清楚我在做错了吗.谢谢

方向更改后的日志如下.

Initial creation
12-04 11:57:15.808: D/FragmentTest.FragmentTestActivity(3143): onCreate
12-04 11:57:15.945: D/FragmentTest.FragmentOne(3143): OnCreateView
12-04 11:57:16.081: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState null


Orientation Change 1
12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): onSaveInstanceState
12-04 11:57:39.031: D/FragmentTest.FragmentTestActivity(3143): onCreate
12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView
12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState not null
12-04 11:57:39.031: D/FragmentTest.FragmentOne(3143): OnCreateView
12-04 11:57:39.167: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState null


Orientation Change 2
12-04 11:58:32.162: D/FragmentTest.FragmentOne(3143): onSaveInstanceState
12-04 11:58:32.162: D/FragmentTest.FragmentOne(3143): onSaveInstanceState
12-04 11:58:32.361: D/FragmentTest.FragmentTestActivity(3143): onCreate
12-04 11:58:32.361: D/FragmentTest.FragmentOne(3143): OnCreateView
12-04 11:58:32.361: D/FragmentTest.FragmentOne(3143): OnCreateView->SavedInstanceState not null
12-04 11:58:32.361: …
Run Code Online (Sandbox Code Playgroud)

android orientation android-fragments android-activity

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

MVC @RenderSection"部分已定义,但尚未呈现"脚本.当多个级别的页面

我正在使用MVC v4.
我有一个'_BootstrapLayout'页面,它定义了所有的twitter bootstrap等东西,一个定义网站布局的主页面,导航栏等,以及从主页面继承的网站页面.

_BootstrapLayout.cshtml

_MainPage.cshtml @ {Layout ="〜/ Views/Shared/_BootstrapLayout.cshtml"; }

Index.cshtml @ {Layout ="〜/ Views/Shared/_MainPage.cshtml";}

所以主页 - >主页 - >网站页面

_BootstrapLayout页面包含脚本的渲染

@RenderSection("scripts", required: false)
Run Code Online (Sandbox Code Playgroud)

我想在Index.cshtml页面添加一个脚本部分,但是当我这样做时,我得到了异常

@section scripts {
    <script type="text/javascript">

        $(document).ready(function () {
...

        });

    </script>
}
Run Code Online (Sandbox Code Playgroud)

以下部分已定义,但尚未针对布局页面"〜/ Views/Shared/_MainPage.cshtml":"scripts"进行渲染.

所以我在_MainPage.cshtml中添加了一个空的@section脚本,仍然是同样的问题?即使我将代码添加到_MainPage脚本部分,我仍然会得到相同的错误.无论我在@MainPage中放置@section,仍然会得到相同的错误.

如果我故意不关闭该部分(即删除}),那么我得到一个错误,表明该部分是不正确的,所以它正在解析_MainPage中的部分.

在这种情况下,如何让网站页面上的脚本的@RenderSections工作?

c# asp.net-mvc razor asp.net-mvc-4

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

Android ArrayList <MyObject>作为parcelable传递

现在修改代码以反映已接受的解决方案.

现在,这是一个如何将自定义ArrayList传递给DialogFragment的工作示例.

我正在使用newInstance上的Bundle将自定义对象的ArrayList传递给DialogFragment.在newInstance中正确接收了arraylist.对putParcelable的调用执行正常(无错误),但在ArrayList对象的parcelable代码中放置断点表明在设置或获取数据时未调用parcel方法.

我是否正确为ArrayList创建一个LocalityList类并使其成为parcelable,或者Locality类本身是否可以分类?

DialogFragment

/**
 * Create a new instance of ValidateUserEnteredLocationLocalitySelectorFragment, providing "localityList"
 * as an argument.
 */
public static ValidateUserEnteredLocationLocalitySelectorFragment newInstance(LocalityList localityList) {

    ValidateUserEnteredLocationLocalitySelectorFragment fragmentInstance = new ValidateUserEnteredLocationLocalitySelectorFragment();

    // Supply location input as an argument.
    Bundle bundle = new Bundle();
    bundle.putParcelable(KEY_LOCALITY_LIST, localityList);
    fragmentInstance.setArguments(bundle);

    return fragmentInstance;
}


/**
 * Retrieve the locality list from the bundle
 */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mLocalityList = getArguments().getParcelable(KEY_LOCALITY_LIST);
}


 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) { …
Run Code Online (Sandbox Code Playgroud)

parameters android parcelable

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

带有边距/填充的ListView scrollbarStyle

希望是一个简单的.V4.0.3

我有一个ListView想要留下10dip的左右边距.内容很简单,但我希望分隔线的左右边距也是10dip.

如果我添加android:PaddingRightandroid:layout_marginRightListViewLinearLayout其中包含的ListView那么这个工作,当然,但你滚动列表出现倒右手边的列表滚动条也由填充/保证金距离入伙.

我希望滚动条指示器保持不变.我已经尝试了所有的android:scrollbarStyle设置.

android android-listview android-scrollbar

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

Android:从本地资源中读取XML(用于测试)

我正在编写一个应用程序,它将从Web服务中读取XML(可能是通过kSOAP2).我对SAX解析非常满意,因为我已经完成了XML解析iPhone应用程序.

不幸的是,webservice还没有公开,所以对于初始测试我有一些包含我需要解析的XML的文件.在这个早期的开发阶段,我只需要从文件中读取XML并将其传递给XML解析器

Xml.parse(this.testXML, root.getContentHandler());
Run Code Online (Sandbox Code Playgroud)

如何将文件/资源​​中的XML读入字符串以传递给此方法.我想破解并测试解析器,但这个简单的步骤阻碍了我.

谢谢

xml parsing android file

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

Spring JPA/Hibernate事务强制插入而不是更新

编辑.虽然扩展基础存储库类并添加插入方法可以使更优雅的解决方案似乎在实体中实现Persistable.见可能的解决方案2


我正在创建一个使用springframework.data.jpaHibernate作为ORM使用的服务JpaTransactionManager.

遵循本教程的基础. http://www.petrikainulainen.net/spring-data-jpa-tutorial/

我的实体存储库扩展 org.springframework.data.repository.CrudRepository

我正在使用遗留数据库,该数据库使用有意义的主键而不是自动生成的ID

这种情况不应该真的发生,但是由于测试中的错误我遇到了它.订单表具有OrderNumber(M000001等)的有意义的键.主键值在代码中生成,并在保存之前分配给对象.旧数据库不使用自动生成的ID密钥.

我有一个创建新订单的交易.由于存在错误,我的代码生成了一个已存在于数据库中的订单号(M000001)

执行repository.save会导致更新现有订单.我想要的是强制插入并由于重复的主键导致事务失败.

我可以在每个存储库中创建一个Insert方法,在执行保存之前执行查找,如果存在行则执行失败.某些实体具有带有OrderLinePK对象的复合主键,因此我无法使用基本弹簧FindOne(ID id)方法

在春季JPA中有这样一种干净的方法吗?

我之前使用spring/Hibernate和我自己的基础库创建了一个没有jpa存储库的测试服务.我实现了Insert方法和Save方法,如下所示.

这似乎工作正常.使用save方法getSession().saveOrUpdate给出了我现在正在经历的现有行更新.

插入方法使用getSession().save失败,重复主键,如我所愿.

@Override
public Order save(Order bean) {

    getSession().saveOrUpdate(bean);
    return bean;
}

@Override
public Order insert(Order bean) {
    getSession().save(bean);
    return bean;
}
Run Code Online (Sandbox Code Playgroud)

可能的解决方案1

根据春季文档的1.3.2章 http://docs.spring.io/spring-data/jpa/docs/1.4.1.RELEASE/reference/html/repositories.html

可能不是最有效的,因为我们正在进行额外的检索以检查插入之前行的存在,但它是主键.

除了save之外,还扩展存储库以添加插入方法.这是第一次削减.

我必须将密钥传递给插入以及实体.我可以避免这个吗?

我实际上并不想要返回数据.entitymanager没有exists方法(确实存在只需要计数(*)来检查行的存在吗?)

import java.io.Serializable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.repository.NoRepositoryBean;

/**
 *
 * @author Martins
 */
@NoRepositoryBean
public interface IBaseRepository <T, ID extends Serializable> extends JpaRepository<T, ID> {

    void insert(T entity, ID …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-data spring-data-jpa

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

Automapper v5忽略未映射的属性

以前当我使用Automapper v3.x时,忽略未映射的属性可以通过简单地添加一个.IgnoreUnmappedProperties()看起来像这样的扩展来完成

public static class AutoMapperExtensions
{

public static IMappingExpression<TSource, TDestination> IgnoreUnmappedProperties<TSource, TDestination>(this IMappingExpression<TSource, TDestination> expression)
{
    var typeMap = Mapper.FindTypeMapFor<TSource, TDestination>();
    if (typeMap != null)
    {
        foreach (var unmappedPropertyName in typeMap.GetUnmappedPropertyNames())
        {
            expression.ForMember(unmappedPropertyName, opt => opt.Ignore());
        }
    }

        return expression;
    }
}
Run Code Online (Sandbox Code Playgroud)

如何重写此扩展以与V5.x一起使用.我当然可以为每个属性添加以下内容.

.ForMember(dest => dest.LastUpdatedBy, opt => opt.Ignore())
Run Code Online (Sandbox Code Playgroud)

或不打电话

Mapper.AssertConfigurationIsValid();
Run Code Online (Sandbox Code Playgroud)

automapper automapper-5

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

Android FragmentPagerAdapter 与 LoaderManager

我有一个带有 ViewPager 和 FragmentPagerAdapter 的 FragmentActivity。

ViewPager 中的每个片段都需要从 Web 服务加载数据。我已经编写了 LoaderManager/自定义 Loaders 来执行 Web 服务调用、解析 XML 等,这些工作正常。

有两种可能的设计来管理加载和片段。

1) 代表片段管理加载的主要活动。

该片段回调主 FragmentActivity 请求其数据。该活动检查该数据的加载程序是否已在运行,如果没有,则创建一个加载程序并执行加载。

在这种情况下,我如何告诉片段数据已加载并准备好绘制。我使用的是自定义加载器而不是简单光标,因此片段将从对象实例填充其文本视图等,因此必须告知对象何时已填充。

当您在 getItem 中实例化片段时,FragmentPagerAdapter 似乎不允许您为片段分配标签或 Id。如何从 FragmentActivity 中找到片段并告诉它绘制其数据?

2) 每个片段管理自己的加载。

Fragment初始化自己的Loader,每个fragment都有自己的onCreateLoader/onLoaderFinish等。

我在这里遇到的问题是,如果用户在加载程序运行时离开该页面,则片段似乎被破坏(有时)。因此,不会调用 onLoaderFinished,并且片段无法告诉主活动它已完成 - 主活动正在控制操作栏中的进度指示器 (setProgressBarInminatedVisibility)。

那么,当您有一个 FragmentPagerAdapter(一个具有多个需要自己的加载器的页面的 ViewPager)时,最好的设计模式是什么?

我遇到的另一个问题是使用 getSupportLoaderManager 检查是否有任何加载程序正在运行。我从 onLoadFinished 中调用它。如果没有加载程序运行,我可以隐藏进度指示器。然而,即使所有加载器都已完成,hasRunningLoaders 有时也会返回 true。

        LoaderManager lm = getSupportLoaderManager();

    // If the loader is not already running, start it...
    if (! lm.hasRunningLoaders()) {
        setProgressBarIndeterminateVisibility(Boolean.FALSE);
    }
Run Code Online (Sandbox Code Playgroud)

非常感谢您提供任何建议或为我指明一些不错的样本的方向。

塔·马丁.

android android-fragments android-viewpager android-loadermanager

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

MVC5发布到Azure,因为云服务在AD登录后重定向到localhost:44300

我们使用Azure Active Directory身份验证开发了一个MVC5应用程序.当作为Web App部署到Azure时,一切都很完美.但是,我们已被要求部署为云服务.

创建了一个新的云服务项目,将MVC项目添加为角色,为云服务添加了2个端点HTTP/HTTPS.创建自签名证书并应用于HTTPS端点.

本地调试

在本地调试IIS Express和Azure Compute Emulator中,一切运行良好.初始请求指向http:// localhost:7390(IISe http端口).
重定向到Microsoft AD登录,然后重定向到https:// localhost:4430(IISe https端口),并在自签名证书的预期证书警告后正确显示主页.

Azure云服务

应用程序已作为云服务部署推送到Azure.
自签名证书已上载到Azure.

Azure Active Directory已为应用添加了一个条目(使用云服务发布URL,如下所示)

登录URL:http://xxxxxxxxtest.cloudapp.net/

APP ID URI:http://xxxxxxxxtest.cloudapp.net/

回复ULR:http://xxxxxxxxtest.cloudapp.net/

当访问网站http://xxxxxxxxtest.cloudapp.net/时,重定向到Microsoft AD signin按预期发生,但在成功登录后,我们将重定向到https:// localhost:4430,就像它在本地测试环境中运行一样.

完全坚持这一个!

TIA Martin.

asp.net asp.net-mvc active-directory azure azure-cloud-services

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