我的应用程序动态添加了Dropdown.用户可以根据需要添加任意数量的内容.
我传统上使用jQuery的live()方法来检测其中一个下拉列表是否被change()编辑:
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
Run Code Online (Sandbox Code Playgroud)
从jQuery 1.7开始,我将其更新为:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
Run Code Online (Sandbox Code Playgroud)
看看Docs,这应该是完全有效的(对吗?) - 但事件处理程序永远不会触发.当然,我已经确认jQuery 1.7已加载并正在运行等.错误日志中没有错误.
我究竟做错了什么?谢谢!
哪个代码段会提供更好的性能?以下代码段是用C#编写的.
1.
for(int counter=0; counter<list.Count; counter++)
{
list[counter].DoSomething();
}
Run Code Online (Sandbox Code Playgroud)
2.
foreach(MyType current in list)
{
current.DoSomething();
}
Run Code Online (Sandbox Code Playgroud) 如何将对象传递给HTML属性?例如,我有以下代码:
var attrs = new { id = "myid", style = "color: Red;" };
Run Code Online (Sandbox Code Playgroud)
如何将attrs转换为像这样的字符串,将它们嵌入到HTML标记中:
id="myid" style="color: Red;"
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
如果我不调用此代码段中Dispose的pen对象会发生什么?
private void panel_Paint(object sender, PaintEventArgs e)
{
var pen = Pen(Color.White, 1);
//Do some drawing
}
Run Code Online (Sandbox Code Playgroud) 我为AdWord广告系列生成了网址,并且一些名为campangin的名称在括号( )和[ ]括号中都有括号.并且示例网址看起来像这样
http://www.website.com/?utm_source=google%5BB%2B%5D&utm_medium=cpc&utm_content=google_ad(B)&utm_campaign=product
Run Code Online (Sandbox Code Playgroud)
这样好吗?
由于ServletContextListener是由服务器创建的,而不是由Guice创建的,因此无法找到让它一起工作的方法.如何在ServletContextListener中获取guice注入器?
也许有更好的方法可以关闭logger或persistance之类的服务,然后在contextDestroyed方法中执行它并在contextInitialized中初始化它们?
servlets dependency-injection guice servlet-listeners guice-servlet
无论何时与这些记录相关联,我都希望从特定日期获取所有记录.到目前为止,我有这样的方法:
public IQueryable<Record> QueryByDay(DateTime day)
{
DateTime from = day.Date;
DateTime to = day.Date.AddDays(1);
return repository.Table
.Where(t => t.MyDate >= from && t.MyDate < to);
}
Run Code Online (Sandbox Code Playgroud)
但是在linq-to-object中我们可以做(假设Table现在是一些集合):
public IEnumerable<Record> QueryByDay(DateTime day)
{
return repository.Table
.Where(t => t.MyDate.Date == day.Date);
}
Run Code Online (Sandbox Code Playgroud)
这显然更具可读性,感觉更干净.我想知道是否有更好的方法来编写使用数据库存储和nhibernate的第一个方法?
我想使用knockout动态渲染行和列.我的想法是,我希望用一些单元格填充每一行,并根据需要动态添加更多行.假设整个单元格数等于4*行数,然后我尝试:
<table>
<tbody data-bind="foreach: model">
<!--ko if: $index() % 4 == 0--><tr><!--/ko-->
<td>
<label data-bind="text: Value"></label>
</td>
<td>
<input type="checkbox" data-bind="checked: IsChecked"/>
</td>
<!--ko if: $index() % 4 == 0--></tr><!--/ko-->
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
但它的工作方式如下:
<table>
<tbody data-bind="foreach: model">
<!--ko if: $index() % 4 == 0-->
<td>
<label data-bind="text: Value"></label>
</td>
<td>
<input type="checkbox" data-bind="checked: IsChecked"/>
</td>
</tr><!--/ko-->
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
通过不用内容渲染整行,是否可以使用knockout渲染所有单元格并仅在需要时添加行?
作为一种解决方法,我考虑嵌套的foreach,但它需要我的模型从单维变为二维,这似乎很奇怪.
我正在考虑允许我返回计算结果和状态的模式:
我可以考虑的方法有以下几种:
函数返回计算结果,状态通过输出参数返回(并非所有语言都支持输出参数,这似乎是错误的,因为通常您不期望参数被修改)。
函数返回包含两个值的对象/对(缺点是您必须创建人工类才能返回函数结果或使用没有语义意义的对 - 您可以根据顺序知道哪个参数是哪个)。
如果您的状态只是成功/失败,您可以返回计算值,并且在出现错误时抛出异常(看起来是最好的方法,但仅适用于成功/失败场景,不应被滥用于控制正常程序流程)。
函数返回值,函数参数是 onSuccess/onFailure 过程的委托。
有一个(状态完整)方法类,它具有状态字段和返回计算结果的方法(我更喜欢拥有无状态/不可变对象)。
请给我一些关于使用上述方法的优点、缺点和情况前提条件的提示,或者向我展示我可以使用的其他模式(最好提示何时使用它们的前提条件)。
编辑:现实世界的例子:我正在开发java ee互联网应用程序,我有一个类解析请求参数,将它们从字符串转换为一些业务逻辑对象。解析器正在数据库中检查是否正在创建或编辑对象,然后将新对象或从数据库获取的对象返回到控制器。控制器根据从解析器读取的对象状态(新/编辑)采取行动。我知道这很糟糕,我想改进这里的代码设计。
我试图处理一种情况,在使用openId提供程序成功进行身份验证后,我发现我的数据库中没有与用户openId标识符关联的帐户.
你能告诉我怎样处理这种情况.现在,我正在显示注册表单并要求用户创建一个帐户.但是,我遇到了用户身份验证状态的问题,现在他被Spring SecurityContext类看作是经过身份验证的.
在重定向到"注册新用户页面"之前,如何在控制器操作中取消验证用户?这种方法是好方法还是应该以其他方式进行?
我有一个具有此属性的模型:
[AllowHtml]
[DisplayName("Widget for Table")]
[StringLength(1000, ErrorMessage = "Maximum chars 1000")]
[DataType(DataType.Html)]
public object TableWidget { get; set; }
Run Code Online (Sandbox Code Playgroud)
这是控制器中的create方法:
//
// GET: /Admin/Table/Create
public ActionResult Create(int id)
{
Season season = _seasonRepository.GetSeason(id);
var table = new Table
{
SeasonId = season.SeasonId
};
return View(table);
}
//
// POST: /Admin/Table/Create
[HttpPost]
public ActionResult Create(Table a)
{
if (ModelState.IsValid)
{
_tableRepository.Add(a);
_tableRepository.Save();
return RedirectToAction("Details", "Season", new { id = a.SeasonId });
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
最后这是我的观点:
@model Stridh.Data.Models.Table
@using (Html.BeginForm())
{ …Run Code Online (Sandbox Code Playgroud) 如何使用Java提取路径"c:/ documents and settings/user"...有什么方法吗?
他们告诉我们不要使用异常来控制我们程序的流程,因为抛出异常很慢.我从来没有听到任何解释为什么抛出异常这么慢.
所以问题是:
抛出异常的机制是什么,涉及哪些特定操作可能会对性能产生影响?
编辑:
一些澄清:我想听听操作系统处理抛出异常所需的额外工作.在用户和内核模式之间是否有一些切换成本很高?或者构建异常对象可能代价高昂?或者也许有一些东西切换程序流程我错过了什么?我的问题是编程语言不可知(我希望如此,但证明我错了).但是,如果您需要一些锚点,那么我对与此主题相关的.NET内部结构感兴趣.
EDIT2:
我对异常性能没有任何问题.我只是想了解这种机制的内部结构.
EDIT3:
让我的问题更清楚.
c# ×5
html ×2
java ×2
javascript ×2
performance ×2
.net ×1
asp.net ×1
coding-style ×1
dispose ×1
exception ×1
filesystems ×1
for-loop ×1
foreach ×1
guice ×1
internals ×1
java-ee ×1
jquery ×1
jquery-1.7 ×1
knockout.js ×1
linq ×1
nhibernate ×1
openid ×1
php ×1
return-value ×1
servlets ×1
winforms ×1