我有:
AutomaticMigrationsEnabled = True
AutomaticMigrationDataLossAllowed = False
Run Code Online (Sandbox Code Playgroud)
在我的配置文件中,现有的模型是:
Public Property ID() As Integer
Public Property ERP_ArticleCode() As String
Public Property description() As String
Run Code Online (Sandbox Code Playgroud)
我所做的只是将第3列从"description"更改为"am_description"并运行"update-database -verbose",这导致"未应用自动迁移,因为它会导致数据丢失"!
我不明白这一点......为什么我不能只更改列名并更新数据库 - 这应该不是数据存储问题,是吗?难道我做错了什么?
我决定使用Sass版本的Foundation4,因为现在几乎不可能有效地编辑CSS.
我按照这里的说明操作:http://foundation.zurb.com/docs/sass.html
这些建议我安装gem(没问题)然后安装指南针然后创建一个项目,我在wwwroot中做了.
到目前为止都很好.然后继续建议我"从Github下载文件(抓取scss /和js /目录)并将它们放入项目目录"
现在,为什么以自行车上的鱼的名义,指令建议我在命令行上的上一步(指南针创建-r zurb-foundation - 使用基础)创建一个已经在我的根目录中的文件夹时执行此操作项目 - 虽然命名不同 - 包含类似但不相同的文件?已经有一个"javascripts"文件夹,其中包含"基础"和"供应商"子文件夹,这些文件夹包含大致相同的文件 - 尽管有些文件大小不同.
我错过了什么吗?包含的"index.html"文件引用了"javascripts"文件夹,为什么我要从github中包含"js"?当你刚接触这项技术时,这非常令人困惑!
按照安装说明后,我现在有"foundation.scss"和"app.scss"文件,除了一个(app.scss)之外,似乎大致相同,有很多注释掉的文件.我打算用哪一个?
在我看来,指令基本上是过时的.看来我不需要来自github的"js",但我确实需要"scss".这个scss文件夹的内容看起来像需要进入项目创建时创建的"sass"文件夹,并且"foundation.scss"文件可以删除,因为"app.scss"是它的副本.
我不知道基础"app.scss"文件希望"@import foundation"在哪里,因为在安装/创建项目时没有创建"基础"文件夹.也许我错过了一些东西,但这一切都让人很困惑.有人可以澄清我需要从什么开始,我可以删除/忽略什么?
我在这上面花了很多时间,这太疯狂了。
我有一个包含“setcookie”函数的页面基类,这基本上是这样的:
Dim context As HttpContext = System.Web.HttpContext.Current
If context.Request.Cookies(cookieName) Is Nothing Then
Dim cookie As HttpCookie
cookie.Value = cookieValue
cookie.Expires = DateTime.Now.AddDays(7)
context.Response.Cookies.Add(cookie)
Else
Dim cookie As HttpCookie = context.Request.Cookies(cookieName)
cookie.Expires = DateTime.Now.AddDays(7)
cookie.Value = cookieValue
End If
Run Code Online (Sandbox Code Playgroud)
该函数由一个简单的 aspx 页面调用。由于这是在测试环境中,因此我正在使用的 cookie 中有一个先前的值“123”。如果我使用调试和监视窗口,我会看到值成功更改为“168”。
我在一行上有一个调试断点,它是:
Response.Redirect("overview.aspx", False)
Run Code Online (Sandbox Code Playgroud)
当断点处于活动状态时,观察窗口中的值为:
currProjectID 168 Integer
HttpContext.Current.Request.Cookies("currProjectID").Value "168" String
Run Code Online (Sandbox Code Playgroud)
(currProjectID 是 basepage 类中的一个属性,它使用上述函数获取/设置 cookie)
现在,第二个我使用“F10”离开上面的断点线,变量的值发生了变化!
HttpContext.Current.Request.Cookies("currProjectID").Value "123" String
currProjectID 123 Integer
Run Code Online (Sandbox Code Playgroud)
疯了吧!代码无处可去,调试点直接在上面的“response.redirect”行下方,但值立即更改为之前的值!“setcookie”例程附近没有任何东西,所以请有人拯救我的精神错乱并告诉我出了什么问题!?
刚刚报告这是github上的一个可能的问题,但也许我只是做错了!
查看小提琴,看看发生了什么:http://jsfiddle.net/bu2Dw/1/
如果将窗口宽度减小到大页面大小以下,则默认基础css应用于元素的负边距会导致出现水平滚动条.
只需将以下代码放入任何基础页面并调整窗口大小即可.块网格div上的"包含到网格"会停止滚动条,但会使边距变得混乱.
<div class="row">
<!-- Using both block grids together for different layouts -->
<ul class="small-block-grid-2 large-block-grid-5">
<li><img src="http://placehold.it/395x590" alt="image1" /></li>
<li><img src="http://placehold.it/395x590" alt="image2" /></li>
<li><img src="http://placehold.it/395x590" alt="image3" /></li>
<li><img src="http://placehold.it/395x590" alt="image4" /></li>
<li><img src="http://placehold.it/395x590" alt="image5" /></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud) 我无法在任何地方找到这样做的例子,虽然我可以发誓我曾经见过一个.
我想在fancytree中为节点添加一个按钮,以便在该节点上悬停(或者可能在选择它时)按钮显示(例如,红色圆圈上的白色x)并单击它将删除/删除该节点.在所有其他时间,应该为节点隐藏删除按钮.
我一直无法找到任何将自定义链接或按钮添加到fancytree节点的示例 - 也许这是不可能的,或者我只是使用错误的搜索条件?
编辑:我找到了一种通过将html附加到标题字符串来添加可点击按钮的方法:
title: component.name() + "<span class='deleteButton'><a href='#' data-bind='click: myfunction'><img src='../../Content/images/deleteIcon.png' /></a></span>",
Run Code Online (Sandbox Code Playgroud)
并通过向我的站点文件添加一些自定义css:
span.fancytree-node span.deleteButton {
display: none;
}
span.fancytree-active span.deleteButton {
margin-left: 10px;
display: inline-block;
}
Run Code Online (Sandbox Code Playgroud)
但是这会将按钮添加到标题文本中,因此在激活时会突出显示标题.如果有办法将其添加到标题文本的节点OUTSIDE会更好.这可能是马丁吗?
我不是专家,但我想知道我的逻辑是否存在缺陷.我很确定不会花很长时间才能指出它是否如此!
为什么不简单地将结构作为单个输入参数,而不是在常用方法上定义几个参数?如果单独定义每个参数并添加另一个参数或删除一个参数,则需要对调用该方法的每段代码进行维护.如果使用了一个结构,那么肯定没有任何调用代码会破坏吗?如果将来某些代码需要额外的参数但遗留代码没有,我可以将该参数添加到现有列表中,遗留代码仍然无需担心.
举个例子:我正在寻找一家公司,那里有多个网站/项目(从我的原始帖子中澄清,其中说"产品"并且可能被误解为物理产品)需要与支付网关连接.根据客户位置,最多可以调用五个不同的支付网关来处理客户付款.
目前,这些多个产品中的每一个都有自己的支付处理实现,完成了从网关检查返回的参数.我发现这个令人困惑,而且是完全错误的,尽管目前还没有时间或资源从头开始重写所有内容,但我认为相对快速的解决办法是创建一个新的"支付"类项目,该项目已定义一组参数.
就我而言,前端应该只做一些简单的事情,如调用"在国家z中以货币y支付x"的方法,并期望成功/失败标志和可选消息澄清任何失败作为回报.这样,公司拥有的每个产品都将共享相同的支付处理.
现在参数明智,目前输入的要求只是金额,货币和国家(不,你不能总是在有人建议之前根据客户位置推断货币!).对于返回,它只是布尔成功/失败以及解释失败原因的消息.然而,将来可能需要额外的参数 - 无论是in还是out - 并且不想破坏现有的方法调用,简单地使用简单的结构似乎是明智的,例如:
struct inParams
{
public decimal amount;
public string currency;
public string country;
};
struct outParams
{
public bool success;
public string message;
};
public outParams makePayment(inParams ip)
{
//...code goes here
}
Run Code Online (Sandbox Code Playgroud)
这是一个代码方面的"坏事"还是可以接受的做法?如果有人认为单独在方法签名中定义参数会更好,那么请您解释一下为什么这比使用简单结构的建议更好吗?
回应"oɔɯǝɹ"
我并没有真正看到你提出的问题是严重的.
例如,示例调用将类似于:
PaymentProcessor pp = new PaymentProcessor();
ppInParams ppIn = new ppInParams();
ppIn.amount = 100;
ppIn.currency = "USD";
ppIn.country = "USA";
ppOutParams ppOut = pp.makePayment(ppIn);
if (!ppOut.success)
{
//check error message, handle error, display message
} …
Run Code Online (Sandbox Code Playgroud) 你知道它已经安静了很久,对吧?;-)
我有一个主视图模型.在视图中,我使用compose绑定来加载子视图,就其显示的数据而言,该视图是"独立的".
<div data-bind="compose: articleSection"></div>
Run Code Online (Sandbox Code Playgroud)
而"articleSection"只是一个包含字符串的observable:
var articleSection = ko.observable('viewmodels/lt_articleRead');
Run Code Online (Sandbox Code Playgroud)
...因为根据用户操作,我可能想要在该div中加载不同的视图/模型.
在我的主视图模型中,我还有一个可观察的"articleSelected":
var articleSelected = ko.observable(true);
Run Code Online (Sandbox Code Playgroud)
...从列表中选择文章时设置的...
在我的子视图(lt_ArticleRead)里面我有两个可以显示的div.如果articleSelected为false,则为one;如果为true,则为one:
<div id="articleSelected" data-bind="visible: articleSelected()">
...
</div>
<div id="articleNotSelected" data-bind="visible: articleSelected()">
<p>Please select an article from the list on the left or create a new one</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我尝试使用"$ root.articleSelected()"和"$ parent.articleSelected"从主视图模型访问observable但是都不起作用.我是否必须"要求"子视图中的父视图模型才能正常工作?
感叹这对我来说已成为"日常问题"的例行公事,对不起!
我有一个nav.html,其中包含:
<div class="loader pull-right" data-bind="css: { active: router.isNavigating }">
<i class="icon-spinner icon-2x icon-spin"></i>
</div>
Run Code Online (Sandbox Code Playgroud)
麻烦的是,它永远不会停用!旋转器总是保持旋转.
我已经在视图模型中调试了调试,就像在Durandal html示例页面中一样:
var vm = {
activate: activate,
//refresh: refresh,
//sessions: sessions,
title: 'My App Home Page',
activate: function () {
system.log('Lifecycle : activate : home');
},
binding: function () {
system.log('Lifecycle : binding : home');
return { cacheViews: false }; //cancels view caching for this module, allowing the triggering of the detached callback
},
bindingComplete: function () {
system.log('Lifecycle : bindingComplete : …
Run Code Online (Sandbox Code Playgroud) 这是一个澄清实现这一目标的最佳方法(或任何方法!)的问题.这可能是我试图将我的.net编码体验应用于这种新的做事方式的方式,但我无法相信这对许多程序员来说不是一个现实世界的问题.
所以.主视图/视图模型在页面上使用许多子视图,因为某些部分会根据用户选择/操作而更改.这些子视图组成主页面:
<div data-bind="compose: { model: articleSection, preserveContext: true }"></div>
Run Code Online (Sandbox Code Playgroud)
...在子视图中,我能够引用控制主视图的根观察器,如下所示:
<a href="#" class="btn" data-bind="css: { 'btn btn-default': true, 'btn-primary': $root.inEditMode() }, click: $root.setEditMode, enable: $root.articleSelected()">Edit</a>
Run Code Online (Sandbox Code Playgroud)
但是,其中一个子视图本身有一个子子视图,它使用自定义绑定和模板进行构造,因为它是一个树视图,需要能够递归地构建布局.
子视图代码只是:
<div id="fancytree" data-bind="groupTree: treeGroups">
<!--<ul data-bind="template: { name: 'itemTmpl', foreach: treeGroups }, groupTree: {}"></ul>/-->
</div>
Run Code Online (Sandbox Code Playgroud)
模板只是:
<script id="itemTmpl" type="text/html">
<!-- Template used in labtool for tree-->
<li>
<span>
<span data-bind="text: name" />
</span>
<ul data-bind="template: { name: 'itemTmpl', foreach: children }"></ul>
</li>
</script>
Run Code Online (Sandbox Code Playgroud)
自定义绑定是:
ko.bindingHandlers.groupTree = {
init: function (element, valueAccessor, allBindingsAccessor, …
Run Code Online (Sandbox Code Playgroud) 我正在尝试将jqplot与Durandal和淘汰赛一起使用.我在Durandal小组(https://groups.google.com/forum/#!topic/durandaljs/WXBiSK3WmIs)上找到了一篇解决此问题的帖子,但它使用的视图模型构造完全让我感到困惑,因为它将一个"prototype.activate"方法添加到构造函数中,这对我来说是全新的(当我尝试使用它时不起作用).
任何人都可以试着告诉我如何使用我的揭示模块模式使用Rob的例子如下所示?
我的viewmodel:
define(['globalVar', 'services/datacontext', 'services/calccontext"], function (globalVar, datacontext, calcContext) {
var activate = function () {
return datacontext.newEntity(articleResults, "articleVersionResults");
};
var calcAll = function () {
//can be called externally and recalcs all
return individualImpactCalc('byWeightAndFactor', 'CO2e', articleResults().material_CO2e);
//will be more calls in here soon
};
var individualImpactCalc = function (calcName, fac, calcObservable) {
return calcContext.indCalc(calcName, fac, calcObservable, globalVar.components()); //puts result straight into observable
};
var vm = {
activate: activate,
calcAll: calcAll
};
return vm;
});
Run Code Online (Sandbox Code Playgroud)
Rob的代码示例: …
我认为entity.entityAspect.setDeleted()的想法是在实体上设置一个“已删除”标志,但没有别的什么?
问题是我有一个实体的 observableArray,我对其中一个实体调用“setDeleted()”,我的 observableArray 立即减一。当我随后使用作为参数传入的实体的 observableArray 调用“saveChanges”时,已删除的实体不存在,并且这似乎阻止了永久删除,因为当我刷新页面时该实体仍然存在。
我在这里错过了一个基本点吗?我的 saveChanges 方法适用于新创建的实体和更改的实体,只是不适用于删除的实体,因为它们在调用“saveChanges”时从未存在!
return manager.saveChanges(entities)
.then(saveSucceeded)
.fail(saveFailed);
Run Code Online (Sandbox Code Playgroud) durandal ×4
knockout.js ×3
css ×2
.net ×1
asp.net ×1
breeze ×1
c# ×1
cookies ×1
fancytree ×1
httpcookie ×1
javascript ×1
oop ×1
requirejs ×1
sass ×1