小编Lou*_*ier的帖子

Kendo UI全球化/语言包

Kendo UI没有附带本地化包.您只能选择仅设置数字和日期格式的文化文件,而不能选择小部件中显示的实际文本(例如:寻呼机文本 - 每页的项目数,下一页等,过滤器菜单(等于等),网格部分(在这里拖一列......)等)

要本地化小部件,必须在每个小部件的各个选项中传递一堆消息,以覆盖Kendo UI默认使用的消息.像这样的东西:

 filterable: {
        messages: {
            info: "Título:", // sets the text on top of the filter menu
            filter: "Filtrar", // sets the text for the "Filter" button
            clear: "Limpar", // sets the text for the "Clear" button

            // when filtering boolean numbers
            isTrue: "é verdadeiro", // sets the text for "isTrue" radio button
            isFalse: "é falso", // sets the text for "isFalse" radio button

            //changes the text of the "And" and "Or" of the filter …
Run Code Online (Sandbox Code Playgroud)

kendo-ui

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

从.NET中的NetworkStream读取的正确方法是什么

我一直在努力解决这个问题,并且无法找到我的代码无法正确读取我已编写的TCP服务器的原因.我正在使用TcpClient类及其GetStream()方法,但有些东西没有按预期工作.操作块无限期(最后一次读取操作没有按预期超时),或者数据被裁剪(由于某种原因,读取操作返回0并退出循环,可能服务器响应速度不够快).这是实现此功能的三次尝试:

// this will break from the loop without getting the entire 4804 bytes from the server 
string SendCmd(string cmd, string ip, int port)
{
    var client = new TcpClient(ip, port);
    var data = Encoding.GetEncoding(1252).GetBytes(cmd);
    var stm = client.GetStream();
    stm.Write(data, 0, data.Length);
    byte[] resp = new byte[2048];
    var memStream = new MemoryStream();
    int bytes = stm.Read(resp, 0, resp.Length);
    while (bytes > 0)
    {
        memStream.Write(resp, 0, bytes);
        bytes = 0;
        if (stm.DataAvailable)
            bytes = stm.Read(resp, 0, resp.Length); …
Run Code Online (Sandbox Code Playgroud)

.net c# sockets tcpclient

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

通过Android Java中的主键获取Realm对象的正确方法

我想知道是否有一种正确的方法来检索一个对象,因为它在Realm for Android中具有主键.我知道这个方法objectForPrimaryKey确实存在于Swift中,但在Realm for Android中似乎没有这样的对应物.我真的认为这样做realm.where(EventInfo.class).equalTo("id", eventInfo.id).findFirst();看起来很浪费(至少它不是手腕友好的).我错过了一些方法吗?我目前正在使用Realm 1.0.1

java android realm

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

无论关系中是否存在正确的Inverse(流畅的nhibernate)设置,NHibernate都会发出无关的更新语句

以下类以极少的方式表示我的遗留数据库的真实场景.我可以添加新列,但这是我能做的全部,因为300多个表数据库被许多其他遗留应用程序使用,这些应用程序不会移植到NHibernate(因此不能从复合键迁移) :

public class Parent
{
    public virtual long Id { get; protected set; }
    ICollection<Child> children = new HashSet<Child>();
    public virtual IEnumerable<Child> Children { get { return children; } }
    public virtual void AddChildren(params Child[] children)
    {
        foreach (var child in children) AddChild(child);
    }
    public virtual Child AddChild(Child child)
    {
        child.Parent = this;
        children.Add(child);
        return child;
    }
}
public class Child
{
    public virtual Parent Parent { get; set; }
    public virtual int ChildId { get; set; }
    ICollection<Item> …
Run Code Online (Sandbox Code Playgroud)

c# nhibernate fluent-nhibernate

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

如何基于当前页面和/或主页在Orchard CMS中向布局包装器添加类

背景:我想避免为我的主页创建一个备用布局,我想保持"主题机"区域和布局完好无损,实际上"主题"大多数都使用纯CSS.所以我需要有选择地将CSS定位到特定的"页面",包括,最重要的是,主页.最简单的方法是将一个类添加到包装整个布局的布局包装"div"中.我可以通过覆盖Document.cshtml文件向"body"元素添加一个类,但我真的认为在Layout.chstml文件中工作更加清晰,并利用Model.Classes将所需的CSS类添加到"开放"标签.

我现在正在做这样的事情:

string area = Model.DesignatedAreaField;
Model.Classes.Add(string.IsNullOrWhiteSpace(area) ? "home" : area);

Model.Id = "layout-wrapper";
var tag = Tag(Model, "div"); // using Tag so the layout div gets the classes, id and other attributes added to the Model
Run Code Online (Sandbox Code Playgroud)

我知道区域不会剪切,因为主页和其他页面都在同一区域,而Model.DesignatedAreaField实际上为主页或其他页面返回一个空字符串.所以,最后,上面的代码总是会生成以下标记(我在主页上显示3个tripels):

<div class="home tripel-123" id="layout-wrapper">
Run Code Online (Sandbox Code Playgroud)

我希望只有在显示主页时才能添加"home"CSS类.一些伪代码如下:

string wrapperCss = IsHomepage ? 'home' : Model.GetUrlPathOrSomethingUniqueForThePath();
Model.Classes.Add(wrapperCss);
Run Code Online (Sandbox Code Playgroud)

这将允许我,例如,使主要内容缩小并向右浮动,并将三角形放在其左侧(这就是主页设计应该如何,但我不想写一个完整的不同布局对于家庭,如果我可以用简单的,有针对性的CSS做同样的事情).

更新:连接Bertrand的答案

Bertrand的回答允许我根据URL为包装DIV添加一个类.他没有提到它(因为Orchard对他来说是第二天性:-)但是你必须在Layout.cshtml文件中添加一个include并相应地更改"my"代码:

@using Orchard.Utility.Extensions;
{
/* omitted for brevity, everything in between is the same as in the Theme's Machine layout file */

string area = WorkContext.HttpContext.Request.Path.HtmlClassify(); …
Run Code Online (Sandbox Code Playgroud)

orchardcms razor asp.net-mvc-3

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

滑动加载到SimpleTarget <Bitmap>不符合指定的宽度和高度

我正在使用Glide加载图像,调整大小并通过a将其保存到文件中SimpleTarget<Bitmap>.这些图像将上传到Amazon S3,但除此之外.我正在上传之前调整图像大小以节省尽可能多的用户带宽.对于我的应用程序需要1024像素宽的图像绰绰有余,所以我使用以下代码来实现这一点:

final String to = getMyImageUrl();
final Context appCtx = context.getApplicationContext();

Glide.with(appCtx)
        .load(sourceImageUri)
        .asBitmap()
        .into(new SimpleTarget<Bitmap>(1024, 768) {
            @Override
            public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                try {
                    FileOutputStream out = new FileOutputStream(to);
                    resource.compress(Bitmap.CompressFormat.JPEG, 70, out);
                    out.flush();
                    out.close();
                    MediaScannerConnection.scanFile(appCtx, new String[]{to}, null, null);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)

它几乎完美地工作,但生成的图像的大小不是1024像素宽.使用尺寸为4160 x 2340像素的源图像对其进行测试,得到的保存图像的尺寸为2080 x 1170像素.

我试着用打widthheight参数传递到new SimpleTarget<Bitmap>(350, 350)并用这些参数生成的图像尺寸为1040 X 585像素.

我真的不知道如何使Glide尊重传递的尺寸.事实上,我想按比例调整图像大小,以便将较大的尺寸(宽度或高度)限制为1024像素,较小的尺寸相应调整大小(我相信我必须找到获得原始图像的方法)尺寸,然后传递宽度和高度SimpleTarget,但要做到这一点,我需要Glide尊重传递的宽度和高度!).

有没有人知道发生了什么?我正在使用Glide 3.7.0.


由于这个问题本身可能对尝试使用Glide调整大小和保存图像的人有用,我相信提供我的实际"解决方案"符合每个人的利益,该解决方案依赖于SimpleTarget …

java android android-glide

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

为什么IPAddress.Parse("192.168.001.001")有效,而IPAddress.Parse("192.168.001.009")没有?

我试图从API结果中解析IP地址,其中IPv4地址的四个中心中的每一个都以0(零)为前缀.像这样的东西:

127.000.000.001而不是127.0.0.1

我在尝试解析192.168.001.009时开始出现解析错误.它也失败了192.168.001.008,但适用于007,006,005到001!

它也失败了192.168.001.018,但适用于.017,.016降至010!

它适用于192.168.001.8或.8以及192.168.001.18和.19 ......

这是CLR中的错误吗?或者我错过了一些愚蠢的东西?

试一试:

IPAddress.Parse("192.168.001.007"); // works
IPAddress.Parse("192.168.001.87"); // works
IPAddress.Parse("192.168.001.008"); // throws exception
IPAddress.Parse("192.168.001.19"); // works
IPAddress.Parse("192.168.001.019");  // throws exception
// and so on!
Run Code Online (Sandbox Code Playgroud)

c# .net-4.5

7
推荐指数
2
解决办法
1327
查看次数

如何在Orchard中自定义呈现列表时访问项目部件

我已经接管了Orchard中List的渲染,以便能够创建自定义标记(我需要在列表的实际内容之前创建交互式导航).这是我目前正在使用的代码:

@using Orchard.DisplayManagement.Shapes;

@{
    var list = Model.List;
    var items = list.Items;
    var count = items.Count;
    var listTag = Tag(list, "ul");
    listTag.AddCssClass("historia");
    var index = 0;
}

<div class="produtos">
    @foreach (var item in items)
    {
        var itemTag = Tag(item, "div");
        itemTag.AddCssClass("item-" + index);
        @itemTag.StartElement;
        <h3>
        @item.Title
        </h3>
        <p>@item.MyCustomTextField</p>
        @itemTag.EndElement;
        ++index;
    }
</div>

@Display(Model.List)

@Display(Model.Pager)
Run Code Online (Sandbox Code Playgroud)

它几乎可以工作......我无法访问列表项字段...我想获取标题并将其放入h3中,然后在其后的段落中放置一个自定义文本字段...我将使用CSS正确渲染此导航部件.在这个导航部分之后,我将调用标准列表渲染例程.

问题是@ item.Title产生一个null /空字符串.我想访问项目内容(没有双关语),其中包括一个自定义文本字段,该字段是将在"导航窗格"中显示的整个帖子的摘录.

Bertrand告诉我们如何使用博客文章来做到这一点:

@using Orchard.ContentManagement;
@{
    IEnumerable<object> blogPosts =
        Model.ContentItems.ContentItems;
}
@if (blogPosts == null || blogPosts.Count() < 1) {
<p>@T("No posts.")</p>
}
else …
Run Code Online (Sandbox Code Playgroud)

orchardcms

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

使用Android NFC检测MIFARE Classic时启动应用程序

我有很多使用MIFARE的经验(自1996年以来,使用GEMPLUS制造的卡片时).我甚至编写了低级代码来模拟MIFARE卡......但是现在事情变得更简单,更高级别我无法使用Java,Android和Android Studio!我想我的时间会变得笨拙......

我所要做的就是在检测到MIFARE卡时启动应用程序.我知道可以这样做,因为我在我的设备中使用了NFC卡信息应用程序,它在MIFARE卡的存在下正确启动.我已经卸载它以确保唯一的NFC应用程序是我自己的.我试图遵循http://developer.android.com/guide/topics/connectivity/nfc/nfc.htmlhttp://developer.android.com/guide/topics/connectivity上不太令人满意的文档./nfc/advanced-nfc.html.

问题是我的应用程序从未启动过.代码非常简单,AFAIK应该正常工作......这是app清单:

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.nfctest.app" >

    <uses-sdk android:minSdkVersion="10"/>
    <uses-permission android:name="android.permission.NFC" />
    <uses-feature android:name="android.hardware.nfc" android:required="true" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.nfctest.app.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.nfc.action.TECH_DISCOVERED"/>
            </intent-filter>
            <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
                android:resource="@xml/nfc_tech_filter" />
        </activity>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

它按NDEF_DISCOVERED过滤,因为TECH_DISCOVERED不能单独工作.

这是nfc_tech_filter资源文件:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <tech-list>
        <tech>android.nfc.tech.Ndef</tech>
        <tech>android.nfc.tech.NdefFormatable</tech>
        <tech>android.nfc.tech.MifareClassic</tech>
        <tech>android.nfc.tech.MifareUltralight</tech>
    </tech-list>
</resources>
Run Code Online (Sandbox Code Playgroud)

这是活动代码:

package com.example.nfctest.app;

import android.content.Intent; …
Run Code Online (Sandbox Code Playgroud)

android nfc android-intent mifare

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

如何访问Orchard中的ContentItemfield文本字段

这听起来像一个(非常)愚蠢的问题,但我找不到一种方法来访问我刚刚添加到Orchard中的内容类型的文本字段.我知道如何在将字段添加到内容部分时访问该字段,而不是在将字段直接添加到内容类型本身时访问该字段.

内容类型称为Product,它是可包含的并且正在列表中显示.我添加了普通部分,以及两个自定义字段:名为"Image"的MediaPicker字段和名为"About"的HTML样式的Text字段.我用来呈现包含它的列表的代码如下:

@using Orchard.DisplayManagement.Shapes;
@{
    var list = Model.List;
    var items = list.Items;
    var count = items.Count;
    var listTag = Tag(list, "ul");
    listTag.AddCssClass("historia");
    var index = 0;
}

<div class="produtos">
    @foreach (var item in items)
    {
        var itemTag = Tag(item, "div");
        itemTag.AddCssClass("item-" + index);
        @itemTag.StartElement;
        <h3>@item.ContentItem.TitlePart.Title</h3>
        <img src="@Href(item.Image.Url)" 
            class="@item.Image.Class"
            alt="@item.Image.AlternateText" 
            width="@item.Image.Width" 
            height="@item.Image.Height" 
            style="@item.Image.Style" />
        <p>@item.About.Text</p>
        @itemTag.EndElement;
        ++index;
    }
</div>
@Display(Model.List)
@Display(Model.Pager)
Run Code Online (Sandbox Code Playgroud)

问题是@ item.Image没有生成Image字段,@ item.About也没有生成"About"文本字段.我甚至不知道Text字段是否有.Text属性来访问它的值,毕竟它可以有HTML风格...我甚至不知道在源代码中查看哪里可以帮助我找出这个已经完成了!

我尝试过一些不同的方法,比如@ item.ContentFields.About.Text或@ item.ContentField.About.Text,@ item.Fields [0],@ item.ContentItem.About.Text,@ item.ContentItem.ContentFields. About.Text(最后两个抛出异常,告诉我ContentItem没有那些字段......)

我知道,如果我已经将字段添加到内容部分,并将此部分添加到内容类型,我可以这样做:@ item.ContentItem.TheNameOfTheContentPart.Image.Url ...

我变得越来越沮丧,因为我无法弄清楚如何在乌节做最简单的事情.我需要Eureka时刻,这将使我能够知道在源代码中查看的位置,以找到这些问题的答案.

orchardcms

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