我已经看过几次提到这个,我不清楚这是什么意思.你何时以及为何会这样做?
我知道接口有什么作用,但事实上我不清楚这一点让我觉得我错过了正确使用它们.
如果你这样做是这样的:
IInterface classRef = new ObjectWhatever()
Run Code Online (Sandbox Code Playgroud)
你可以使用任何实现的类IInterface吗?你什么时候需要这样做?我唯一能想到的是,如果你有一个方法,你不确定除了实现之外将传递什么对象IInterface.我想不出你需要多久做一次.
另外,你怎么能写一个接受实现接口的对象的方法?那可能吗?
我听说jQuery UI包含一个拾色器,但可以找到很少的文档.
它存在吗?
关于如何实施它的任何体面的文件?
我发现了这个:http://docs.jquery.com/UI/Colorpicker
但使用:
$("#colorpicker").colorpicker();
Run Code Online (Sandbox Code Playgroud)
不起作用,Firebug告诉我.colorpicker();不是一种方法!
它似乎工作正常,除非我把它放在一个对话用户界面,然后决定打破.
我希望能够传入一个参数列表,并忽略那些为NULL的参数.这样查询实际上假装过滤器不存在并忽略它.
我是这样做的:
(@thing IS NULL or Thing=@thing)
Run Code Online (Sandbox Code Playgroud)
这是对的,如果是的话,它会表现得很糟糕吗?它似乎比分别构造SQL要慢很多.
这样做的最佳方法是什么?
固定!请参阅Marc Gravell的回答.总之,使用IS NULL多次是一个很大的性能影响.
快速问题.JavaScript中的Eval是不安全的,不是吗?我有一个JSON对象作为字符串,我需要把它变成一个实际的对象,所以我可以获取数据:
function PopulateSeriesFields(result)
{
data = eval('(' + result + ')');
var myFakeExample = data.exampleType
}
Run Code Online (Sandbox Code Playgroud)
如果它有助于我使用jQuery中的$ .ajax方法.
谢谢
有没有人有一个优雅的方法来处理ASP.Net MVC中的错误?在处理对控制器操作的请求时,我经常遇到问题,其中Action可用于正常请求和AJAX请求.我遇到的问题是找到一种处理这些问题的优雅方式.
例如,我如何处理验证错误?理想情况下,我想通过AJAX将表单提交给服务器,然后返回操作引发的任何错误并将其显示在页面上,但是当客户端关闭JavaScript时,通过正常的回发工作.我知道我可以使用jQuery的验证插件,因为他们类型,但它是不一样的,也不是理想的考虑上进行验证会在两个地方(我NHibernate的验证映射和JavaScript文件中)来指定数据的限制.
当用户请求不存在的记录时怎么样?我应该重定向到404页面吗?如果请求是通过Ajax发出的(例如,加载到对话框中),该怎么办?
所以:
在使用Ajax调用控制器操作时,如何处理控制器操作引发的错误?特别是模型状态错误(即验证).我可以通过JSON发送吗?
您是否有关于如何使控制器操作在正常调用和通过Ajax时正常工作的提示?在编写动作方法时,这是一个恼人的问题.由于返回类型,我可能需要根据调用者的不同结果.如果没有两种行动方法,有没有这样做呢?
处理MVC操作错误的一般策略是什么?你重定向到错误页面了很多吗?你重定向到另一个页面?
编辑:我认为问题的一部分是我想要发生不同的事情,所以如果有错误我会想要停止任何进展,直到它修复,因此发回错误.否则,我可能想要更新页面的不同区域.但是,如果我有一个返回,我怎么知道它是成功或失败而没有包装它有一个属性指示的对象(从而使部分视图更难使用)
谢谢
我有两个元素,它们的高度可以不同,并且彼此相邻.问题是,如果一个盒子高于另一个盒子,它看起来很丑陋.所以我希望它们的高度相同.
我认为可行的一种方法是将它们包装在容器div中,并希望较高的一个调整它的大小,较小的一个扩展以适应空间:
HTML:
<div id="outerBox">
<div class="innerBoxLeft"></div>
<div class="innerBoxRight"><br /><br /><br /></div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS:
.outerBox
{
width: 100%;
}
.innerBoxLeft
{
float:left;
width: 45%;
height: 100%;
}
.innerBoxRight
{
float:right;
width: 45%;
height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
不行.我相信这可能是因为外部div没有设定的高度,并且由于某种原因,较小的盒子和它的100%高度没有任何作用.我不能给它一个固定的高度,因为那样会打败这一点.
所以,除非有另一种方式,我想我会问:我怎样才能将子元素的高度设置为它的父元素的高度?
谢谢
根据问题标题,我如何获取十六进制代码并将其转换为.Net Color对象,并以其他方式执行?
我用Google搜索并继续采用不起作用的相同方式.
ColorTranslator.ToHtml(renderedChart.ForeColor)
Run Code Online (Sandbox Code Playgroud)
返回颜色的名称,如'White'而不是'#ffffff'!从另一个方面来看似乎有奇怪的结果,只在某些时候工作......
是否可以使用.Net和C#以编程方式生成数据库的XML Schema?我想研究NDbUnit但是对于大型数据库来说,手动制作Schema实际上是不可行的?
正如主题所示,我希望能够使用.NET(实际上与哪种语言无关)和SQL Server将表名作为参数传递.
我知道如何为值,例如做这个command.Parameters.AddWithValue("whatever", whatever)用@whatever在查询中表示参数.问题是我希望能够在查询的其他部分(例如列和表名)中执行此操作.
这不是一个理想的情况,但它是我必须使用的,它不太容易SQL注入,因为只有使用代码的人可以设置这些表名而不是最终用户.但它很乱.
那么,我问的可能是什么?
编辑:为了明确说明SQL注入,表格名称仅由源代码传递,具体取决于具体情况.开发人员指定了这一点.开发人员无论如何都可以访问数据库层,所以我问的原因不是安全性,而是为了使代码更清晰.
我希望能够在ASP.Net MVC中向我的控制器发布帖子时发送JSON而不是标准的QueryStrings.我有前端工作正常(构建然后提交我的JSON对象).
问题出在控制器端,MVC框架附带的默认ModelBinder不支持此功能.
我已经看到了各种方法,其中之一是应用一个过滤器,它将对象作为参数,使用JSON库对其进行反序列化,并将其添加到操作参数中.这不太理想.
另一种更好的方法是使用自定义Model Binder.我见过的所有人都认为你只有一个模型而且它将是一个类而不是一个变量.如果你有多个,它会崩溃.
有人遇到过这种情况么?我有一个想法,如果我可以简单地覆盖MVC如何处理FormCollection并拦截那里,我自己将值添加到集合中,并希望MVC能够以正常的方式完成剩下的工作.有谁知道这是否可能?
我认为关键问题是我的问题不在于绑定,因为我的视图模型与之前的模型没有什么不同.问题是从JSON Post获取值.
如果我是正确的MVC获取QueryString中的值并将其放入表单集合中,然后将其用于ModelBinding.那么正确的方法是不应该改变FormCollection的分配方式?
动作示例:
public ActionResult MyFirstAction(Int32 ID, PersonObject Person, ClassObject ClassDetails)
{
//etc
}
Run Code Online (Sandbox Code Playgroud)
正常的绑定工作,JSON没有,模型绑定器的所有示例都不起作用.到目前为止,我最好的解决方案是将对象转换为字典并循环遍历每个参数并匹配它.看起来不太理想.
.net ×3
jquery ×3
asp.net-mvc ×2
json ×2
parameters ×2
ajax ×1
color-picker ×1
colors ×1
css ×1
database ×1
eval ×1
hex ×1
html ×1
interface ×1
javascript ×1
jquery-ui ×1
layout ×1
ndbunit ×1
oop ×1
performance ×1
security ×1
sql ×1
sql-server ×1
t-sql ×1
xsd ×1