小编Jos*_*arl的帖子

在ASP.NET MVC中构建复杂的Web表单

ASP.NET MVC中用于实现复杂表单的好方法是什么,其中表单的各个部分根据用户的输入显示和隐藏?

我的背景是Webforms.我经常被要求构建表单,用户从下拉列表中选择一个选项,触发一些新字段出现.不同的选择可能会导致出现一组不同的字段.

在过去,我会通过我想要显示或隐藏的字段UpdatePanel的包装器Panel来处理这种情况.隐藏字段时会自动禁用验证.

展望未来,我想利用MVC的基于属性的模型验证,但是可以使验证以其他属性的值为条件吗?

另外,如何处理表单字段块的切换?我知道如何在jQuery中手动完成它,但我希望有一种方法与验证和服务器端代码相关联.

我总体上更喜欢MVC,但我还没弄清楚如何很好地处理这种情况.可能我只需要改变我的想法以更好地适应MVC方法.

asp.net-mvc

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

MVVM Light SimpleIoC是否支持单例?

我在我当前的Windows Phone项目中使用SterlingDB,我希望能够使用MVVM Light v4中的新SimpleIoC容器从我的应用程序中的各个位置解析Sterling数据库.

但是,我不确定SimpleIoC是否支持注册单例.SterlingDB引擎只应在应用程序首次启动时创建,并且我不希望每次容器注入对它的引用时都会启动新实例.

如果我有不同的方式来思考这个问题,我也很乐意接受替代方案.

windows-phone-7 mvvm-light

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

什么colorscheme设置控制Vim(终端版本)中的文本背景颜色?

vimbash启用透明度的全屏终端中运行.(对于笔记本电脑来说,这是一个很好的设置 - 当我离开办公桌时,几乎让我不会错过我的多显示器装置.)

我遇到的麻烦是大多数配色方案,例如优秀的配色方案,desert256在文本背后设置了某种突出的颜色,通常是黑色.净效果是一个大多数透明的终端,每行代码后面都有黑色块,模糊了它们前面的任何东西.

某些默认颜色方案(例如elflord,不执行此操作).背景始终保持透明.

我可以.vimrc在设置后colorscheme删除文本背景颜色后执行设置吗?我使用pathogen插件从GitHub刷新我的配色方案,所以我不想编辑我的本地副本.

vim bash

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

UILabel在Xamarin.iOS中有填充?

我正在尝试UILabel在我的Xamarin.iOS应用程序中创建一个填充.本机Objective-C应用程序中最流行的解决方案是重写drawTextInRect:

- (void)drawTextInRect:(CGRect)rect {
    UIEdgeInsets insets = {0, 5, 0, 5};
    return [super drawTextInRect:UIEdgeInsetsInsetRect(rect, insets)];
}
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,我无法弄清楚如何将其转换为C#.这是我最好的尝试:

internal class PaddedLabel : UILabel
{
    public UIEdgeInsets Insets { get; set; }

    public override void DrawText(RectangleF rect)
    {
        var padded = new RectangleF(rect.X + Insets.Left, rect.Y, rext.Width + Insets.Left + Insets.Right, rect.Height);

        base.DrawText(padded);
    }
}
Run Code Online (Sandbox Code Playgroud)

这似乎会移动标签的文本,但它不会调整标签的大小.

我认为主要问题是我找不到相应的Xamarin UIEdgeInsetsInsetRect.

有什么建议?

c# iphone uilabel xamarin.ios ios

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

以编程方式创建"与最近邻居的间距"约束

我正在构建的部分屏幕包含一个包含n视图的部分.我正在代码中生成这些视图 - 它们是简单的UIView子类.

我正在为此屏幕使用AutoLayout约束,我希望每个视图自动将其自身定位在其上方视图下方15px左右.

在Xcode中,可以创建到最近邻居约束间距,这似乎完全符合我的要求.

但是,我似乎无法找到任何显示如何在代码中创建它的示例.

是否可以通过编程方式创建"最近邻居间距"约束?

iphone ios autolayout nslayoutconstraint

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

重用Backbone.js控件和小部件

是否有一个很好的模型可以重用Backbone.js中编写的UI组件?

我的团队维护着一个大型Web应用程序,主要用服务器端代码编写,但我们发现我们正在做越来越多的客户端工作.我们有几个用jQuery编写的大型UI组件,它们实际上太复杂了,只需要一个DOM操作库来维护.我们需要一个客户端应用程序框架.

jQuery插件模型提供的一个好处是易于重用.您可以使用适当的ID创建一些HTML元素并将其连接起来$(function(){}).如果采用Backbone,我们肯定需要用Backbone来实现类似的功能.

大多数示例都展示了如何完全在Backbone中构建应用程序,这很棒,但我们不会很快在JavaScript中重新实现我们的应用程序.我们对客户端框架的使用将局限于复杂的UI控件,其中包含许多业务逻辑.

另一个考虑因素是我们有一个JavaScript捆绑解决方案.我担心将很多Backbone元素捆绑在一起可能意味着我们最终会在后台加载和运行无头控件.

你可以构建Backbone控件并将它们打包为jQuery插件吗?有关这种架构的可用资源吗?

backbone.js

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

将项目插入backbone.js集合

是否有一种直接的方法将新模型项插入backbone.js的中间,Collection然后更新集合View以将新项目包含在正确的位置?

我正在使用控件来添加/删除列表中的项目.每个列表项都有自己的ModelView,和我有一个View对整个采集为好.

每个项目视图都有一个Duplicate按钮,用于克隆项目的模型,并将其插入到单击项目下方索引位置的集合中.

将项目插入集合很简单,但我无法弄清楚如何更新集合视图.我一直在尝试这样的事情:

ListView = Backbone.View.extend({
    el: '#list-rows',
    initialize: function () {
      _.bindAll(this);
      this.collection = new Items();
      this.collection.bind('add', this.addItem);
      this.render();
    },
    render: function () {
      this.collection.each(this.addItems);
      return this;
    },
    addItem: function (item) {
      var itemView = new ItemView({ model: item }),
          rendered = itemView.render().el,
          index = this.collection.indexOf(item),
          rows = $('.item-row');

      if (rows.length > 1) {
        $(rows[index - 1]).after(rendered);
      } else {
        this.$el.append(rendered);
      }
    }
}
Run Code Online (Sandbox Code Playgroud)

这个实现有点工作,但是当我添加一个新项目时,我会遇到奇怪的错误.我相信我可以解决这些问题,但......

我脑子里有一个声音告诉我,有更好的方法可以做到这一点.必须手动找出插入新的位置 …

javascript backbone.js

6
推荐指数
2
解决办法
8868
查看次数

从Chrome扩展程序中的JavaScript调用网站API时出现跨域错误

我正在开发一个名为Remember the Milk API的小型Chrome扩展程序.谷歌有一个使用Flikr API 的好例子,我正在使用它作为我的扩展的基础.他们的示例在我的浏览器中完美运行(Linux上的最新Chrome).

但是当我换掉Remember the Milk API方法名称和API密钥时,我收到以下错误:

XMLHttpRequest cannot load http://api.rememberthemilk.com/services/rest/?method=rtm.test.echo&api_key=xxxxxxxxxxxxxxxxxxxxxx&name=Test%20task. 
Origin chrome-extension://lifnmciajdfhj is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

我的代码看起来像这样:

    var req = new XMLHttpRequest();
    req.open(
            "GET",
            "http://api.rememberthemilk.com/services/rest/?" +
            "method=rtm.test.echo&" +
            "api_key=xxxxxxxxxxxxxxxxxxxxxxxxxx&" +
            "name=Test%20task", 
            true);
    req.onload = onResponseReceived;
    req.send(null);

    function onResponseReceived() {
        console.log("It worked.");
    }
Run Code Online (Sandbox Code Playgroud)

有什么建议?

javascript google-chrome

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

防止Backbone.js模型在首次添加到集合时进行验证

有没有办法在首次创建新模型时抑制Backbone.js中的模型验证?

在我的应用程序中,我有一个包含任意数量模型的集合,这些模型表示为列表项.用户可以单击每个项目上的按钮,在当前项目下方插入新的空项目.显然,空项目验证失败,因为我不希望以后保存空项目.

当我创建新项目时,我无法知道可能的默认值,因此使用有效数据预先填充新模型似乎不是一个选项.

有什么建议?

更新:在处理与切向相关的问题时,我意识到我使用的是Backbone.js版本0.9.0.当这个版本发布时,其他人遇到了同样的问题,他们在GitHub的这个问题上抱怨.

Jeremy修改了0.9.1中的验证以解决此问题.将(临时)空模型添加到集合中是一个有效的实际用例.您可以在视图中处理新的空模型,但是如果您正在管理像我这样的项目列表,那么除了您的必须收集之外,这会强制您拥有项目视图的集合(包括空的项目视图).有效的模型.对于一个原本简单的场景来说,这是一个非常笨重的解决方法.很高兴这个问题得到解决.

backbone.js

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

jQuery .ajax()调用失败

我正在尝试对.ajax()公共Web服务进行jQuery 调用,而我却无法找到正确的语法.

我尝试了几种不同的实现方式.这个:

$.ajax({
  url: 'http://www.geognos.com/api/en/countries/info/all.jsonp',
  dataType: "jsonp",
  success: function() {
    alert('JSONP call succeeded!');
  }
});
Run Code Online (Sandbox Code Playgroud)

它失败并出现以下错误:

all.jsonp:1 Uncaught ReferenceError: callback is not defined
Run Code Online (Sandbox Code Playgroud)

还有这个:

$.ajax({
  url: 'http://www.geognos.com/api/en/countries/info/all.json',
  dataType: "json",
  success: function() {
    alert('JSON call succeeded!');
  }
});
Run Code Online (Sandbox Code Playgroud)

失败,出现此错误:

XMLHttpRequest cannot load http://www.geognos.com/api/en/countries/info/all.json. Origin http://localhost:8888 is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

我通过本地IIS7实例提供页面服务.我也尝试过各种$.getJSON()类似结果的组合.我错过了什么?

这是上面代码的JSFiddle.

更新:我们认为我们有一个解决方案,但是callback is not defined在进行JSONP调用时我仍然会收到错误,即使调用了警报/日志代码.响应URL如下所示:

http://www.geognos.com/api/en/countries/info/all.jsonp?callback=undefined&157148585
Run Code Online (Sandbox Code Playgroud)

并且JSON响应包含如下:

callback({"StatusMsg": "OK", "Results": {"BD": {"Name": "Bangladesh", "Capital": {"DLST": "null", "TD": 6.0, "Flg": 2, …
Run Code Online (Sandbox Code Playgroud)

ajax jquery json

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