我不知道为什么我的路线有冲突.我在我的Global.asax文件中有这些:
routes.MapRoute(
"CustomerView", "{controller}/{action}/{username}",
new { controller = "Home", action = "Index", username = "" }
);
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "0" }
);
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都运行良好,除非我创建一个控制器动作,如下所示:
public ActionResult MyAction(int id)
{
//Do stuff here
return View();
}
Run Code Online (Sandbox Code Playgroud)
当我尝试通过http:// mydomain/MyController/MyAction/5查看它时,我得到:
'/'应用程序中的服务器错误.
参数字典包含'InTouch.Controllers.OrderController'中方法'System.Web.Mvc.ActionResult Track(Int32)'的非可空类型'System.Int32'的参数'id'的空条目.要使参数可选,其类型应为引用类型或Nullable类型.参数名称:参数
告诉我,这个id价值没有得到正确的解读.当然enoguh,当我交换周围的路线顺序它工作正常.到目前为止,我的(理所当然有限的)理解是,如果路由中指定的变量名与控制器动作定义中指定的变量名匹配,则它将假定一个不管顺序.显然我错了.交换订单会导致其他控制器操作中断.在这种情况下,处理我的路线的正确方法是什么?
为这个狡猾的问题道歉 - 如果有人有更好的建议,我很乐意改写.
我正在尝试通过动态调用属于另一个应用程序的程序集来创建一个对象.
以下PowerShell代码对我很有用:
[Reflection.Assembly]::LoadFrom("C:\Program Files\Vendor\Product\ProductAPI.dll")
$bobject = new-object ProductAPI.BasicObject
$bobject.AddName("Some Name")
Run Code Online (Sandbox Code Playgroud)
我在C#中努力做同样的事情.根据StackOverflow上的其他帖子,我目前有这个:
System.Reflection.Assembly myDllAssembly =
System.Reflection.Assembly.LoadFile("C:\\Program Files\\Vendor\\Product\\ProductAPI.dll");
System.Type BasicObjectType = myDllAssembly.GetType("ProductAPI.BasicObject");
var basicObjectInstance = Activator.CreateInstance(BasicObjectType);
Run Code Online (Sandbox Code Playgroud)
最后一行导致TargetInvocationException.
{"无法加载文件或程序集'AnotherObject,Version = 1.2.345.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一.系统找不到指定的文件."
看起来BasicObject构造函数试图调用AnotherObject(来自同一文件夹中的AnotherObject.dll)但找不到它.
关于如何解决这个问题的任何提示?
我需要将RGB图像转换为YCbCr色彩空间,但是有一些色移问题,我使用了所有公式并得到了相同的结果.
python中的公式
cbcr[0] = int(0.299*rgb[0] + 0.587*rgb[1] + 0.114*rgb[2]) #Y
cbcr[1] = int(-0.1687*rgb[0] - 0.3313*rgb[1] + 0.5*rgb[2] + 128) #Cb
cbcr[2] = int( 0.5*rgb[0] - 0.4187*rgb[1] - 0.0813*rgb[2] + 128) #Cr
Run Code Online (Sandbox Code Playgroud)
我知道我应该以不同的方式记录数据,但我得到错误的颜色结果.
http://i.imgur.com/zHuv8yq.png原创
http://i.imgur.com/Ek2WEA1.png结果
那我怎么能得到正常的图像或将RGB PNG转换成YCbCr 4:2:2?
我最近使用ASP.NET MVC开发过很好的经验,并且正在考虑是否将它用于即将开始工作的项目.但有一个重要的考虑因素是:他们通常会单独出售源代码许可证,而这种应用程序我们无法切实地与我们自己的托管相关联,而不会切断大部分潜在市场.
是否可以在没有源代码的情况下分发ASP.NET MVC应用程序?或者是否有一个相当有效(显然不会万无一失,但至少不是"偷我"欢迎垫)和混淆MVC应用程序的安全工具或方法?我试过几个混淆器,据说可以使用ASP.NET,但由于MVC依赖于特定的文件/目录名,他们打破了应用程序.
可以使用iTextSharp在内存中创建PDF文档,使用户可以选择"打开"或"保存"?如果打开则会在浏览器窗口中打开.
目前我唯一将它保存到磁盘.
编辑:
好吧,我已经怀疑了.我最终不得不将文件写入文件夹,但它只是暂时的,因为每次都被覆盖.以下是它的价值所在的解决方案:
private void GeneratePDF() {
var doc1 = new Document();
string path = Server.MapPath("~/pdfs/");
string filepath = path + "Doc1.pdf";
PdfWriter.GetInstance(doc1, new FileStream(filepath, FileMode.Create));
doc1.Open();
doc1.Add(new Paragraph("A new Document"));
doc1.Add(new Paragraph(DateTime.Now.ToString()));
doc1.Close();
Response.Buffer = false; //transmitfile self buffers
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=myPDF.pdf");
Response.TransmitFile(filepath);
Response.End();
Run Code Online (Sandbox Code Playgroud)
}
官方WP7仿真器使用800x480分辨率.我可以在计划的WP7手机(例如三星Cetus i917)上找到的唯一信息共享相同的分辨率.虽然我意识到编写与分辨率无关的程序的吸引力,但我真的更专注于推动一组已知的硬件,而不是牺牲功能和效率来实现一刀切.
是否相当安全地假设800x480将被广泛采用作为WP7设备的事实标准并相应编码?或者我的程序设计中是否应该考虑可变显示分辨率的原因(除了明显的原因)?
基本上我在尝试使用nHibernate删除实体集合时遇到此异常.以下是我的代码
public void DeleteAll<T>(IList<T> entities)
{
using(var tx = session.BeginTransaction())
{
try
{
entities.ForEach(e=>session.Delete(e));
tx.Commit();
}
catch(Exception)
{
tx.Rollback();
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用hql工作没有任何问题,但我更喜欢坚持LINQish方法..哦,我正在连接到Oracle数据库.
我使用knockout.js从子对象获取父对象的某个字段时遇到困难.
function Child(info){
var self = this;
self.x = info.x;
self.y = info.y;
self.parentThing = parent.fieldToGet(); // This is when I had problem
}
function Main() {
var self = this;
self.fieldToGet = ko.observable();
self.things = ko.observableArray();
self.postFunction = function(){
$.post('XXX.php', $("form#filterForm").serialize(), function(data){
var mappedThing = $.map(data.data, function(info){return new Child(info); });
self.things(mappedThing);
}
}, 'json');
};
}
var main = new Main();
ko.applyBindings(main, $("div#main")[0]);
Run Code Online (Sandbox Code Playgroud)
层次结构是Main有几个Child.在Child对象中,我想获得其父项的属性:fieldToGet.
这很奇怪......有人知道或者可以弄清楚为什么会这样?
在过去,我能够为Excel范围分配一个公式数组(快速赋值示例:) Range("A1:A1000") = ArrayOfFormulas.与逐个细胞分配相比,它工作得很好并且非常快(非常 快)(逐个细胞的示例:Range("A" & i).Formula=ArrayOfFormula(i)在循环内.很慢!).
我现在正在使用Excel 2013,并且当尝试将存储在字符串数组中的公式分配给excel范围时,它不起作用(excel显示公式,但不是根据下图左侧部分的计算)遗憾的是,我无法检索旧代码进行比较.例如,以下代码在A1到A1000的范围内显示"= 1 + 2"而不是"3".
Sub AssignFormulas_1()
Dim i as Long
Dim FORML_ARRAY(1 To 1000, 1 To 1) As String
For i = 1 To 1000
FORML_ARRAY(i, 1) = "=1+2"
Next i
Range("A1:A1000").Formula = FORML_ARRAY '<- Don't work as formula
' It put the value!
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,当我不使用公式数组时,它工作正常(所有单元格显示"3"而不是"= 1 + 2",如下图右侧所示).这里的代码:
Sub AssignFormulas_2()
Dim i as Long
Dim FORML_SINGLE As String …Run Code Online (Sandbox Code Playgroud) asp.net ×3
asp.net-mvc ×3
.net ×2
c# ×2
arrays ×1
colors ×1
excel ×1
excel-vba ×1
global-asax ×1
itextsharp ×1
knockout.js ×1
nhibernate ×1
nuget ×1
null ×1
obfuscation ×1
oracle ×1
parameters ×1
performance ×1
powershell ×1
python ×1
reflection ×1
routing ×1
vba ×1
xna-4.0 ×1
yuv ×1