我想为表示为下拉列表的字段类型创建一个编辑器模板.在编辑器模板的定义中,我想使用对控制器上的操作的调用来填充DropDownList,将结果返回为JSON - 任何想法如何执行此操作?
例如:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<TheFieldType>" %>
<%= Html.DropDownList(.....
Run Code Online (Sandbox Code Playgroud) 我知道我可以使用jQuery和$.post()语法进行带外Post请求.但是,我很想知道jQuery是否可能在整个页面上引发发布请求(就像提交表单时那样),以便加载一个全新的页面.这可能吗?
DOM中没有表单元素,因此我无法执行form.submit().
有没有人有关于Autofac如何帮助管理NHibernate ISession实例的任何提示或最佳实践(在ASP.NET MVC应用程序的情况下)?
在进行这样的查询时(使用Nhibernate 2.1.2):
ICriteria criteria = session.CreateCriteria<MyRootType>()
.SetFetchMode("ChildCollection1", FetchMode.Eager)
.SetFetchMode("ChildCollection2", FetchMode.Eager)
.Add(Restrictions.IdEq(id));
Run Code Online (Sandbox Code Playgroud)
我以一些笛卡尔式的方式获得了多个重复的对象.例如,如果ChildCollection1有3个元素,并且ChildColection2有2个元素,那么我得到结果,每个元素在ChildColection1一个重复,并且每个元素都是ChildColection2三重的!这对我而言是一个WTF时刻......
那么如何正确地做到这一点?
更新:
根据Felice的建议,我尝试使用DistinctRootEntity转换器,但这仍然是返回重复项.码:
ICriteria criteria = session.CreateCriteria<MyRootType>()
.SetFetchMode("ChildCollection1", FetchMode.Eager)
.SetFetchMode("ChildCollection2", FetchMode.Eager)
.Add(Restrictions.IdEq(id));
criteria.SetResultTransformer(Transformers.DistinctRootEntity);
return criteria.UniqueResult<MyRootType>();
Run Code Online (Sandbox Code Playgroud) 默认情况下,当您使用<ol>标记创建有序列表时,您会得到以下内容:
1..10..100
...但是有没有办法改变或设置格式,它会将一定数量的前导零附加到列表中?我希望所有数字都排成一行,我的列表将进入数百个所以我需要2个前导零个位数,1个前导零个位数,三个数字没有:
001..010..100
我还没有创建列表但是我想在开始之前知道是否有一个简单或简单的方法来做到这一点?我只需要这个效果的有序列表.不要让它成为普遍的效果.
也许我误解了一些东西(很可能因为我是Backbone的新手),但我找不到可以绑定的内置事件列表.谁能指出我正确的方向?
我只是想知道人们是如何接近这种情况的.在我使用ORM的MVC(在这种情况下为NHibernate)中,这似乎是一个弱点......
假设您的模型中有一个细粒度和复杂的实体.您可能会有一个管理页面来管理此类对象.如果实体很复杂,则您不太可能以一种形式修改整个实体.您仍然需要将相关属性传递给视图,并在视图返回时将更改合并到模型中的那些属性.
在这种情况下,有什么人做的?
创建一个视图模型,该视图模型是(或包含)实体属性的子集.将此传递给视图和从视图传递.在控制器中的"编辑"操作方法中,从存储库中获取对象,遍历ViewModel中的所有属性并将它们应用于Model对象(model.a = viewmodel.a,modelb = viewmodel.b).这似乎是明显合理的路线,但产生了许多繁琐的管道代码.这也使验证复杂化了一些.
别的什么?
我简要地看了一下自动播放器 - 但这似乎不符合法案,也许我错了?
谢谢.
鉴于下面的骨干视图函数,this将回调(即当前视图)传递给回调中定义的匿名函数的正确方法是什么?
addSomething: function(e) {
var newSomething= this.model.somethings.create({
someProperty: xxx
}, {
success: function(m, response) {
this.doSomething(); //***HERE****
},
error: function(m, response) {
//Error
}
});
},
Run Code Online (Sandbox Code Playgroud)
没有和更改,thisanon函数中的设置被设置为窗口.
我可以像这样设置一个引用:
var thisView = this;
Run Code Online (Sandbox Code Playgroud)
然后只是引用thisView而不是this在anon函数中,但这似乎并不优雅.有没有更好的办法?
我在@font-face我测试过的任何移动Webkit浏览器中都遇到了麻烦- 在iPhone 3GS上安装了Safari,默认的Android 2.2浏览器和Android上的Dolphin浏览器.
它适用于所有桌面浏览器,从IE7到IE9,FF3.5,Safari 4和Opera.
字体和CSS来自FontSquirrel:
@font-face {
font-family: 'LeagueGothicRegular';
src: url('../fonts/League_Gothic-webfont.eot');
src: local('?'),
url('../fonts/League_Gothic-webfont.woff') format('woff'),
url('../fonts/League_Gothic-webfont.ttf') format('truetype'),
url('../fonts/League_Gothic-webfont.svg#webfontFHzvtkso') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'LatinModernRoman10Bold';
src: url('../fonts/lmroman10-bold-webfont.eot');
src: local('?'),
url('../fonts/lmroman10-bold-webfont.woff') format('woff'),
url('../fonts/lmroman10-bold-webfont.ttf') format('truetype'),
url('../fonts/lmroman10-bold-webfont.svg#webfonthCDr6KZk') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'LatinModernRoman10BoldItalic';
src: url('../fonts/lmroman10-bolditalic-webfont.eot');
src: local('?'),
url('../fonts/lmroman10-bolditalic-webfont.woff') format('woff'),
url('../fonts/lmroman10-bolditalic-webfont.ttf') format('truetype'),
url('../fonts/lmroman10-bolditalic-webfont.svg#webfontegrLi3sm') format('svg');
font-weight: normal;
font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)
我已经检查了SVG字体源中的SVG ID,它们都匹配.
可能是因为我后来在CSS中有一些字母间距规则?
谢谢!
我需要使用JavaScript更新给定时间间隔内的大量数据.问题是,无论我使用什么JS库(甚至是裸骨js),所有浏览器似乎都在每个AJAX请求上分配内存,并且之后无法释放它.这是一个应该重现错误的示例:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Memleak Test</title>
<meta charset="utf-8" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
function readData() {
$.getJSON('data.php');
}
$(document).ready(function() {
setInterval(readData, 1000);
});
</script>
</head>
<body>
<div id="content"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
jsbin提供了一个等效的测试页面
以下是有关此内容的更多信息:
看起来很简单,我认为我在这里做了一些非常错误的事情,如果这里的一些JS大师可以帮助我,那就太棒了!
asp.net-mvc ×2
backbone.js ×2
css ×2
javascript ×2
jquery ×2
nhibernate ×2
ajax ×1
android ×1
autofac ×1
font-face ×1
html ×1
iphone ×1
memory-leaks ×1
post ×1