我试图在链接上测试点击'preventDefault'被调用.但是,我很难用一个可以监视的实际'事件'对象替换:
以下是我触发click事件的方法:
var e = jasmine.createSpyObj('e', [ 'preventDefault' ]);
$element.triggerHandler('click', [e]);
Run Code Online (Sandbox Code Playgroud)
但是,在运行指令代码时,event元素不会被伪造的替换:
$element.on('click', function(event) {
console.log(event);
}
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的方法向triggerHandler添加第二个参数 - 作为一个数组,作为一个对象,只是一些行,等等都没有工作..它也不是很多的triggerHandler和其他参数的例子,所以我觉得有点丢失...
提前致谢!
是否可以在Kendo网格的ClientTemplate中添加一个javascript语句?我想在客户端上计算一些数据,然后将结果放在行中.
我试过这个:
columns.Bound("ExecutionStartDateTime").Title("SummaryLine").Width("20%").ClientTemplate("<script> scheduleForm.generateSummary(#= ExecutionStartDateTime #, 2); </script>");
Run Code Online (Sandbox Code Playgroud)
但是,它没有任何效果.
我正在尝试使用MEF创建ASP.NET MVC模块.虽然到目前为止我没有使用没有MVC的MEF没有问题,但是当涉及到导出控制器时我遇到了一些困难.
我使用这种方法作为示例http://kennytordeur.blogspot.de/2012/08/mef-in-aspnet-mvc-4-and-webapi.html 我通过引入包含控制器的外部dll使其变得更加复杂.但是如果我遵循Kenny的想法,那么我需要有一个通用的接口(比如他的例子中的IMyTest),但是,因为我打算拥有一些控制器,这意味着我需要太多的接口.最后,看起来我重用了控制器的内部方法,而不是整个控制器.
我在这里找到了一个问题如何将MEF与ASP.NET MVC 4和ASP.NET Web API集成,其中包含一些代码示例,其中我看到了类似的图片 - 导入了接口IContactRepository的_contactRepository,然后在视图中重用.
这就是为什么我的问题是,导出整个控制器,不使用接口是正常的吗?怎么这样?
我发现MEF和ASP.NET之间的联系相当令人困惑,起初它认为互联网上有很多例子,但是当我看起来更深层次时,它们中的大多数都已经过时,不实用或太原始,无法看到它如何能够适用于更大的项目.
谢谢!
我正在为编辑器编写HTML Helper.我们的想法是使用属性AutoGenerateField从Model获取属性并构建一个表,其中每行包含一个字段的名称(也来自属性)和一个包含字段实际值的TextBox或CheckBox.
我有HTMLHelper的问题.由于我将整个模型发送给助手而不是一个值,因此我不能使用TextBoxFor等方法,因为它们需要参数,例如
"Expression<Func<TModel, TValue>> expression".
Run Code Online (Sandbox Code Playgroud)
我正在使用反射,我尝试发送属性,但VisualStudio认为这是不正确的用法.
下面是我的HtmlHelper的简化方法:
public static MvcHtmlString GenerateEditor<TModel>(this HtmlHelper<TModel> htmlHelper)
{
var model = htmlHelper.ViewData.Model;
var result = String.Empty;
//generating container, etc ...
foreach (var property in model.GetType().GetProperties())
{
var attr = property.GetCustomAttributes(typeof (DisplayAttribute), true).FirstOrDefault();
if (attr == null) continue;
var autoGenerate = ((DisplayAttribute)attr).AutoGenerateField;
if(autoGenerate)
{
//here I'm building the html string
//My problem is in the line below:
var r = htmlHelper.TextBoxFor(property);
}
}
return MvcHtmlString.Create(result);
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
在客户端,我有一个关联数组,我存储"Guid" - "int"对.我使用json将数组传递给服务器:
$.ajax({
url: methodUrl,
type: 'POST',
async: false,
data: { values: items },
dataType: 'json',
success: function (data) {
//...
}
});
Run Code Online (Sandbox Code Playgroud)
我尝试传递的对象看起来像这样(取自Chrome调试器):
items: Object
44f871e0-daee-4e1b-94c3-76d633a87634: 1
698ce237-3e05-4f80-bb0d-de948c39cd96: 1
Run Code Online (Sandbox Code Playgroud)
在控制器中我有一个方法
public ActionResult Method(Dictionary<Guid, int> values)
{
}
Run Code Online (Sandbox Code Playgroud)
但是,属性值保持为null.只有客户端的Guids列表和控制器中的List一切正常.我怀疑我应该为控制器中的值选择另一种类型,而不是字典.我也尝试在ajax请求中添加"traditional:true",但没有成功.
任何建议表示赞赏!
如果我有一个模型对象,是否Expression<Func<TModel, bool>>()
可以创建哪些可以在不同的htmlHelper中使用(例如in CheckBoxFor()
)
this HtmlHelper<TModel> htmlHelper
Run Code Online (Sandbox Code Playgroud)
和财产的名称(通过反思).
我正在尝试执行看似简单的任务 - 从我的项目中的单独程序集调用控制器.
然而,当我从该控制器请求信息时,我得到错误404.我一直在与它斗争最后5-6小时,我怀疑我可能会遗漏一些小而明显的东西,这就是为什么我希望得到一个建议.
我在stakoverflow上找到了关于路由和错误404的类似问题,但是当我实现另一个原型项目时,我没有得到这样的错误并使用类似的代码结构,我相信他们描述的问题与我的不同.
总的来说 - 我想要实现的目标的总体目标是在独立项目中实现一个区域,就像这里描述的那样.我做了所有类似的事情,在链接中解释了一个小型原型(并且它工作正常),现在尝试申请真正的项目.
这是我包含程序集和管理路由的方式:
"CommunicationBus"项目包含一个类"CommunicationBusAreaRegistration".注册路由工作正常,我可以使用调试器到这里,当我使用routedebugger时我也可以看到这条路线(见下面的截图).我也玩过这个类的命名空间,最后尝试添加.Areas.CommunicationBus
,但它没有任何区别我能注意到.
namespace MBVD.MainProject.UI
{
public class CommunicationBusAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "CommunicationBus";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"CommunicationBus_default",
"CommunicationBus/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new string[] { "CommunicationBus.Controllers" }
);
}
}
}
Run Code Online (Sandbox Code Playgroud)在主项目的Global.asax中,我通过以下方式注册路由:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = …
Run Code Online (Sandbox Code Playgroud)我正在创建一个NuGet包,我想在其中使用两个Web服务.
我首先手动添加服务文件并修改配置文件.但是当我浏览文件并更正引用时,我明白这种方法效率不高,特别是如果以后我需要更新web服务和引用.我用谷歌搜索解决方案,但几乎找不到任何有用的东西.
因此,我的问题是,将Web服务的引用添加到NuGet包中的正确方法是什么?
谢谢.
我正在尝试调用svcutil.exe来指定命名空间参数,但无论我做什么,我都会收到错误,即使我正在重用Internet上的工作示例.
例如,在这里我尝试了最简单的选项 - /namespace:*,My.Proxy.
这是我从powershell脚本调用的整行:
$svcUtilresult = & "C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\svcutil.exe" /namespace:*,My.Proxy /out:$csFile $svcUri /config:$configPath;
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
svcutil.exe : Error: Invalid value * passed to the /namespace option. Specify a comma-separated target namespace and CLR namespace pair.
Run Code Online (Sandbox Code Playgroud)
我尝试传递真正的命名空间,包括和不带引号,空值,其他字符串以及我一直得到错误无效值.
你能指出我,我做错了吗?非常感谢!
我想问一下如何简化下面的foreach块的建议.我试图在一个linq语句中完成所有操作,但我无法弄清楚如何在查询中操作"count"值.
关于我正在努力实现的更多细节: - 我有一个巨大的列表,其中包含潜在的重复项,其中Id是重复的,但属性"Count"是不同的数字 - 我想摆脱重复,但仍然不要放弃那些"计算"值 - 所以对于具有相同Id的项目我总结了"计数"属性
不过,目前的代码看起来并不漂亮:
var grouped = bigList.GroupBy(c => c.Id).ToList();
foreach (var items in grouped)
{
var count = 0;
items.Each(c=> count += c.Count);
items.First().Count = count;
}
var filtered = grouped.Select(y => y.First());
Run Code Online (Sandbox Code Playgroud)
我不指望整个解决方案,一些想法也将受到高度赞赏:)
我对 SVG 很陌生,并尝试生成一个对象,该对象由放在一行中的几个小 svgs 组成。我在删除 svg 添加的空格时遇到问题。我希望元素能够相互接触。
我创建了一个小例子: http: //jsfiddle.net/PFWBC/1/
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 65 65" width="50" height="50">
<path d="M10,10 l50,0 0,50 -50,0 0,-50"
style="stroke: #000000; fill:none;" />
</svg>
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 65 65" width="50" height="50">
<path d="M10,10 l50,0 0,50 -50,0 0,-50"
style="stroke: #000000; fill:none;" />
</svg>
Run Code Online (Sandbox Code Playgroud)
这里有两个正方形。当您检查元素“path”时,您会发现它没有添加任何额外的空间,但是 svg 标签却添加了。
我尝试以“路径”对象和“svg”之间没有额外空间的方式更改宽度/高度/viewBox,但是,没有设法做到这一点,边距/填充也没有帮助。虽然,我可以去掉右侧和底部的空白空间,但左侧和顶部仍然保留......
我发现了类似的问题,但它们大约是100%,这不是我的情况。
在此先感谢您的任何建议!
我该如何简化这样的陈述:
var someList = new List<someType>();
if (String.IsNullOrEmpty(groupId))
{
someList = CTX.Values.Include(c => c.Customer).ToList();
}
else
{
someList = CTX.Values.Include(c => c.Customer).Where(c => c.GroupId== groupId).ToList();
}
Run Code Online (Sandbox Code Playgroud)
区别仅在于.Where(c => c.GroupId== groupId)
.是否可以String.IsNullOrEmpty(groupId)
在查询语句中包含条件?
asp.net-mvc ×6
c# ×6
.net ×4
html-helper ×2
linq ×2
angularjs ×1
if-statement ×1
javascript ×1
json ×1
kendo-ui ×1
mef ×1
namespaces ×1
nuget ×1
reflection ×1
routing ×1
svcutil.exe ×1
svg ×1
unit-testing ×1
web-services ×1