我想处理应用程序范围错误并在asp.net mvc中显示ErrorView页面.有3种方法可以做到(或者我知道).
1) ErrorAttribute in BaseController:Controller class.
Can be used on individual Action/Controller/BaseController.
2) Override OnException() in the BaseController:Controller class.
Will work on Controllers derived from BaseController
3) Application_Error in Global_aspx.
Run Code Online (Sandbox Code Playgroud)
什么是最佳做法.这些方法中的哪一个应该用于应用程序范围的错误处理,或者我们应该使用多个还是仅使用一个.
如果我们在BaseController上处理ErrorAttribute或/和OnException()的错误,我们仍然应该在Application_Error()中处理它.
我们什么时候应该使用Application_Error()?
我Article在MongoDB数据库的集合中有这个现有文档:
[ { site: 'www.atlantico.fr',
date: '2014-05-27T11:10:19.000Z',
link: 'http://www.atlantico.fr/example.html',
_id: 538473817eb00f082f4803fc,
__v: 0} ]
Run Code Online (Sandbox Code Playgroud)
我想在Node.js中使用Mongoose为这个文档添加一个day有价值的新字段'example'.所以我这样做:
Article.update(
{ link: 'http://www.atlantico.fr/example.html'},
{ $set : {day : 'example'} },
function(err){
});
Run Code Online (Sandbox Code Playgroud)
但是它不起作用,因为当我在那之后查询文档时,没有day出现新的字段......
在使用update或使用$setMongoose 时我一定犯了一个错误,但我找不到我的错误.
我错过了什么?谢谢!
我在MVC3 Razor项目中创建了一个Helper方法(Helpers.cshtml)
@helper Link(string fileName, UrlHelper url){
<link href="@url.Content("~/Content/" + fileName)"
rel="stylesheet" type="text/css" />
}
Run Code Online (Sandbox Code Playgroud)
但我得到一个警告工具提示"元素链接不能嵌套在元素'链接'".
在ContentPlaceHolder中使用链接href时,我在Asp.net Error上发现了类似的问题
我们有解决方案吗?
哪个是使用它的最佳方式.
HomeController : BaseController
{
var value1 = GetDataFromSession("key1")
SetDataInSession("key2",(object)"key2Value");
Or
var value2 = SessionWrapper.GetFromSession("key3");
GetFromSession.SetDataInSession("key4",(object)"key4Value");
}
Run Code Online (Sandbox Code Playgroud)
public class BaseController : Controller
{
public T GetDataFromSession<T>(string key)
{
return (T) HttpContext.Session[key];
}
public void SetDataInSession(string key, object value)
{
HttpContext.Session[key] = value;
}
}
Run Code Online (Sandbox Code Playgroud)
public class BaseController : Controller
{
public ISessionWrapper SessionWrapper { get; set; }
public BaseController()
{
SessionWrapper = new HttpContextSessionWrapper();
}
}
public interface ISessionWrapper
{
T GetFromSession<T>(string key);
void SetInSession(string key, …Run Code Online (Sandbox Code Playgroud) 对于MVC Razor中的Simple标签,您更喜欢使用简单的HTML还是使用扩展方法,例如
<label for="male">Male</label>
Or
@Html.Label("male", "Male")
Run Code Online (Sandbox Code Playgroud)
我觉得有时候使用简单的HTML会更容易.当您想要执行一些自定义代码时,扩展方法是有意义的.
在oracle,PL/SQL中编写存储过程时,编写参数名后会有很多命名约定.
PROCEDURE PROC_MY_STORED_PROCEDURE (sFirstName VARCHAR2,
nId NUMBER,
oCursor REF_CURSOR)
PROCEDURE PROC_MY_STORED_PROCEDURE (first_name_in VARCHAR2,
Id_in NUMBER,
o_Cursor REF_CURSOR)
应与局部变量前缀l或l_与全球同g或g_
是否还有其他良好的命名惯例?
要遵循的最佳做法是什么?
$ .ajaxSetup用于jquery中的ajax调用.如果我们使用jquery ajax,这完全正常.
但是在MVC中我们使用Ajax.BeginForm().回调处理程序是OnFailure,OnSuccess,OnBegin.
有没有办法可以将$ .ajaxSetup用于Ajax.BeginForm().
更新
例如,我在10个地方使用过Ajax.BeginForm(),但不是为所有人编写OnFailure处理程序,我只想在jquery $ .ajaxSetup中共同编写一个常见的OnFailure.有办法吗?
一个空字符串null占用多少内存?
我发现了这个问题,它讲述了String.Empty内存分配,但没有null.
如果我想存储一个空字符串或null在会话中哪个会占用更少的空间?
class MyClass
{
public string One { get; set; }
public string Two { get; set; }
public MyClass(string one,string two)
{
One = one;
Two = two;
}
}
class Main
{
var emp = new MyClass(String.Empty, String.Empty);
var nul = new MyClass(null,null);
}
Run Code Online (Sandbox Code Playgroud) 如何将空集或空值设置为默认值,如1?
到目前为止,我有这个声明,但如果我得到空值我想要处理:
select case when count(*)=0
then 0
else 1
end OUTPUT
from TESTTBL
where timestamp = to_char(sysdate-1, 'yyyymmdd')||'0000';
Run Code Online (Sandbox Code Playgroud) @using (Ajax.BeginForm("SaveItemAndProperties", "HomeBuilder",
new AjaxOptions
{
UpdateTargetId = "divSaveItemAndProps",
InsertionMode = InsertionMode.Replace
}))
{
@Html.EditorForModel()
<input type="submit" value="Submit" />
}
Run Code Online (Sandbox Code Playgroud)
在从EditorForModel调用的Model中
@Html.EditorFor(m => m.PropertyValues)
Run Code Online (Sandbox Code Playgroud)
PropertyValues是一个属性列表,是一个调用EditorTemplate.
从Action我改变了值,然后尝试将数据更新回View
[AcceptVerbs(HttpVerbs.Get | HttpVerbs.Post)]
public PartialViewResult SaveItemAndProperties(PropertyBuilderViewModel modelValues)
{
//Change on property in modelValues
return PartialView("PropertyBuilderControl", modelmodelValues);
}
Run Code Online (Sandbox Code Playgroud)
当我调试时,我看到数据属性,但它不会显示在视图中.不知道为什么会这样做.
asp.net-mvc ×3
c# ×3
razor ×3
oracle ×2
sql ×2
.net ×1
ajax ×1
httpcontext ×1
javascript ×1
mongodb ×1
mongoose ×1
node.js ×1
null ×1
onexception ×1
plsql ×1
session ×1
updates ×1