我非常喜欢jQuery UI的外观,我喜欢将它集成到我的ASP.NET Web应用程序中.我喜欢这些主题以及使用小部件是多么容易.我目前正在使用AJAX Control Toolkit控件,如Calendar和ModalPopup.我希望与以取代他们的DatePicker和对话窗口小部件,但我听说他们 有 问题与UpdatePanel的.有这些问题的解决方法,但我想知道,它值得吗?
这引出了我的问题:
更新: 根据目前为止的答案,似乎最好的办法是用$ .ajax和PageMethods替换UpdatePanels.这应该允许我使用jQuery UI而没有任何问题,并且还提高了我的AJAX性能.
我很好奇为什么只有一些System.Web.UI.WebControl
控件在具有相同的接口属性时实现某些接口.
例如,有很多控件具有Text属性,但只有以下工具ITextControl
:
(TextBox和ListControl实际上实现了IEditableTextControl,它实现了ITextControl)
TableCell,Button,HyperLink等不是这样我必须编写这样的代码
ITextControl textControl = control as ITextControl;
TableCell tableCell = control as TableCell;
if (textControl != null)
{
textControl.Text = value;
}
else if (tableCell != null)
{
tableCell.Text = value;
}
Run Code Online (Sandbox Code Playgroud)
而不是这个
control.Text = value;
Run Code Online (Sandbox Code Playgroud)
这是设计决定还是疏忽?
我一直在试用MvcMiniProfiler作为替代EFTracingProvider,因为它是如此更容易配置.
它会显示sql很好,但我也希望看到参数值.
insert [dbo].[PersonName]([Prefix], [GivenName], [MiddleName], [FamilyName], [Affix])
values (@0, @1, @2, @3, @4)
select [Id]
from [dbo].[PersonName]
where @@ROWCOUNT > 0 and [Id] = scope_identity()
Run Code Online (Sandbox Code Playgroud)
MvcMiniProfiler可以显示sql参数值吗?
这是我的Global.asax.我正在使用EF 4.3.1代码优先.
protected void Application_Start()
{
Bootstrapper.Initialize();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
MiniProfilerEF.Initialize();
}
protected void Application_BeginRequest()
{
if (Request.IsLocal)
{
MiniProfiler.Start(ProfileLevel.Verbose);
}
}
protected void Application_EndRequest()
{
MiniProfiler.Stop();
}
Run Code Online (Sandbox Code Playgroud) 在下面的例子中,&
并且Δ
可以但Δ
不是(后两者都是Δ).编译器发出类似于的警告:
warning CS1570: XML comment on 'XXX.DocumentedMethod()' has badly formed XML -- 'Reference to undefined entity 'Delta'.'
/// <summary>
/// & Δ Δ
/// </summary>
public void DocumentedMethod()
{
}
Run Code Online (Sandbox Code Playgroud)
XML注释支持的字符实体有哪些?
我试图弄清楚如何将已分离实体的特定属性标记为已修改.如果我执行以下操作,它将标记所有已修改的属性,并且生成的sql将更新所有列.
/// <summary>
/// Sets the entity in the modified state.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="entity">The entity.</param>
void IDbContext.Modified<T>(T entity)
{
DbEntityEntry<T> entry = Entry(entity);
if (entry.State == EntityState.Modified)
{
// if the state is already Modified we don't need to do anything else
return;
}
if (entry.State == EntityState.Detached)
{
Set<T>().Attach(entity);
//TODO: set specific properties modified instead of the the whole object.
entry.State = EntityState.Modified;
}
}
Run Code Online (Sandbox Code Playgroud)
如何仅将已更改的属性设置为已修改?
我试图在一个实现DbContext
将由通用存储库使用的类中使用它.目标是自动确定哪些属性与数据库值相比已更改,然后将这些已更改的属性状态设置为"已修改".在我当前的实现中,Modified方法不知道实体类型,所以我不能简单地用它来检索它context.Set<T>.Find(key)
.
我想我可以添加一个接受originalEntity
参数的重载,但是如果可能的话我宁愿不这样做. …
我最近使用Nuget升级到WebApi的RC版本,但现在出现以下错误.
无法从程序集'System.Web.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'加载类型'System.Web.Http.Dependencies.IDependencyResolver'.
使用对象浏览器,我可以看到正确的引用.我尝试过重建,清理和清除临时Internet文件.
一个谷歌搜索出现了http://forums.asp.net/t/1810546.aspx/1?Dependency+Resolver+throws+an+error+with+Unity但这没有多大帮助.
有谁知道是什么原因造成的?
我们知道虚拟指令可以链接到具有不同名称的文件夹,如何获取虚拟目录的物理路径?
我一直在尝试使用HttpContext.Current.server.MapPath,但它返回物理路径加上我在参数中发送的路径,即使该目录甚至不存在,或者它是否存在不同的名称.
例如:
C:\ blabla\Sites\Application1\Imaageesss - 光盘上
Application1\Images(在国际空间站,我的虚拟目录)
但是,如果我在"/ Images"上执行MapPath,它将永远不会给我C:\ blabla\Sites\Application1\Imaageesss但C:\ inetpub\wwwroot\Images这不是链接到的真实目录.
我创建了以下POCO类也取得了Contact.FirstName
和Contact.LastName
私有属性(这些属性被映射到实体框架模型,相应的属性).
public class Contact
{
public int ContactID { get; set; }
private string FirstName { get; set; }
public string LastName { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)
我期望得到一个例外,因为EF无法为这两个属性赋值,但不知何故EF仍设法为它们赋值.这怎么可能,因为只有Contact
类中的代码才能访问私有属性?
谢谢
我在.NET中发现了一个奇怪的行为UriBuilder
Senario 1:
Dim uri As New UriBuilder("http://www.test/login.aspx")
uri.Query = "?test=Test"
Dim url As String = uri.ToString()
Run Code Online (Sandbox Code Playgroud)
运行此代码后,url字符串包含"http://www.test/login.aspx ?? test = Test"
解决方法是不添加?.
Senario 2:
Dim uri As New UriBuilder("http://www.test/login.aspx?test=123")
uri.Query += "&abc=Test"
Dim url As String = uri.ToString()
Run Code Online (Sandbox Code Playgroud)
运行该代码之后我们还有两个?的 "http://www.test:80/login.aspx的??测试= 123&ABC =测试".
在使用uri构建器时,我做错了吗?
我有一个ASP.NET MVC3应用程序与Windows身份验证部署到IIS6.当经过身份验证的用户单击他们无权查看的链接时,系统会提示他们按预期输入用户名和密码(在浏览器对话框中,而不是页面中).
但是,单击取消或输入三次无效凭据后,我看到一个空白页面,而不是看到401 Unauthorized页面.
查看Fiddler,点击取消后有三个请求/响应.以下是响应摘要和标题:
ASP.NET Access被拒绝消息(401.2)
HTTP/1.1 401未授权日期:星期五,2012年7月20日14:34:21 GMT服务器:Microsoft-IIS/6.0 WWW-身份验证:协商WWW-Authenticate:NTLM X-Powered-By:ASP.NET X-AspNet-版本: 4.0.30319 Cache-Control:private Content-Type:text/html; charset = utf-8内容长度:1701代理支持:基于会话的身份验证
IIS您无权查看此页面(401.1)
HTTP/1.1 401未经授权的内容长度:1539内容类型:text/html服务器:Microsoft-IIS/6.0 WWW-Authenticate:NTLM TlRMTVNTUAACAAAADAAMADgAAAAF ...(为简洁起见省略)X-Powered-By:ASP.NET日期:星期五,2012年7月20日14:34:21 GMT代理支持:基于会话的身份验证
空响应
HTTP/1.1 401未授权日期:星期五,2012年7月20日14:34:21 GMT服务器:Microsoft-IIS/6.0 WWW-身份验证:协商WWW-Authenticate:NTLM X-Powered-By:ASP.NET X-AspNet-版本: 4.0.30319 X-AspNetMvc-Version:3.0 Cache-Control:private Content-Length:0代理支持:基于会话的身份验证
如何让它显示401错误页面?
更新1:
这是我的web.config错误部分.
<customErrors mode="RemoteOnly" defaultRedirect="~/Error" />
Run Code Online (Sandbox Code Playgroud)
我也在用HandleErrorAttribute
.
我怀疑IIS正在返回空白页而不是ASP.NET,但我不确定如何证明这一点.
更新2:
这是有趣的.如果我刷新空白页面,我看到ASP.NET Access被拒绝消息.
asp.net ×5
.net ×2
c# ×2
iis ×2
iis-6 ×1
jquery-ui ×1
poco ×1
updatepanel ×1
uribuilder ×1
web-controls ×1
xml-comments ×1