小编Rop*_*tah的帖子

ASP.NET - 创建自定义上下文对象?

如何创建Context类似于HttpContext对象的全局可访问对象?

我想创建一个自定义类库,我想从网站项目中引用它.在网站项目中,我希望能够在全球范围内调用以下内容:

ClassLibraryName.Context
Run Code Online (Sandbox Code Playgroud)

我不能property直接在我的类库中创建全局,那么应该如何实现呢?(我见过其他应用程序/产品使用这种方法,其中一种是Sitecore,它有一个自定义的Sitecore.Context对象)

编辑

这可能是一个"有效"的解决方案吗?

namespace MyLibrary
{
  public class Context
  {
    public static object ContextualObject
    {
      get;
      set;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

asp.net

3
推荐指数
1
解决办法
3627
查看次数

如何在SQL Server Express 2008中创建新数据库并允许连接?

我有一个在我的本地PC上运行的SQL Server Express 2008 R2实例.

  • 身份验证是"混合"的,因此我可以使用Windows登录使用SQL Server身份验证登录.
  • 命名管道已启用
  • TCP/IP已启用
  • 允许远程连接

我采取了以下步骤来创建一个新的登录和数据库:

  1. 我使用SQL Server Management Studio Express登录并创建了新的登录名
  2. 我使用新创建的登录名作为所有者创建了一个新数据库

新登录

登录详细信息

新数据库

数据库安全

数据库所有者概述

正如您在上一个屏幕截图中看到的那样,有一个用户名 "dbo",它"属于" 登录名 "mylogin".我正在尝试使用以下连接字符串,但它不起作用:

数据源=(本地)\ sqlexpress;初始目录= newdb;用户ID = mylogin;密码= mypass

SQL Server Management Studio中的错误日志表明:

用户'mylogin'登录失败.原因:无法打开显式指定的数据库.[客户:xxx.xxx.x.xx].错误:18456,严重性:14,状态:38

如果我将连接字符串中的用户ID更改为"dbo",则会报告以下错误:

用户'dbo'登录失败.原因:找不到与提供的名称相匹配的登录信息.[客户:xxx.xxx.x.xx].

我现在开始变得非常疯狂.我根本不知道如何访问任何数据库......我的SQL Server实例是否已损坏?

当我尝试从我的ASP.NET应用程序连接时,只会出现此问题.使用SQL Server Management Studio Express连接,使用提到的凭据DOES工作!

asp.net connection-string database-connection sql-server-express

3
推荐指数
1
解决办法
3万
查看次数

C#检查对象是否可以转换为另一个对象失败?

我正在尝试检查对象是否可以使用转换为某种类型IsAssignableFrom.但是我没有得到预期的结果...... 我在这里错过了一些东西吗?

//Works (= casts object)
(SomeDerivedType)factory.GetDerivedObject(); 

//Fails (= returns false)
typeof(SomeDerivedType).IsAssignableFrom(factory.GetDerivedObject().GetType()); 
Run Code Online (Sandbox Code Playgroud)

编辑:

上面的例子似乎错了,并没有很好地反映我的问题.

DerivedType在代码中有一个对象,它被强制转换为BaseType:

BaseType someObject = Factory.GetItem(); //Actual type is DerivedType
Run Code Online (Sandbox Code Playgroud)

我也有一个PropertyType反思:

PropertyInfo someProperty = entity.GetType().GetProperties().First()
Run Code Online (Sandbox Code Playgroud)

我想,以检查是否someObject分配给(浇注到)PropertyTypesomeProperty.我怎样才能做到这一点?

c# reflection inheritance

3
推荐指数
1
解决办法
2980
查看次数

VB.NET Custom Control(自定义绘图)刷新问题

我创建了一个包含 2 个项目的简单解决方案。第一个项目(类库)包含一个名为 Container 的自定义控件,它用圆角绘制自己。第二个项目(windows 窗体)是一个测试应用程序。

如果我在第二个项目的主窗体中添加一个 Container 实例,它会很好地显示圆角。此外,当我运行第二个项目时,我可以看到容器。

但是,当我开始移动表单(单击并按住标题栏)时,尤其是当我移动它非常快时,所有的绘图都被弄乱了,一遍又一遍地绘制但没有先清除它的表面...

我可以在 Form1.Move 事件中调用 Container1.Refresh(),但我不想每次都设置它,因为这也意味着我必须在Form1.Resize事件中调用 Container1.Refresh()并且谁知道其他哪个事件.. .

Container(控件)类本身是否有事件,我应该在其中调用 Me.Refresh() 或 Me.Update() 或 Me.Invalidate() ?

供参考(Form1.vb)

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Form1_Move(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Move
    Me.Container1.Refresh()
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)

供参考(Container.vb):

Imports System.Windows.Forms
Imports System.Drawing
Imports System.Drawing.Drawing2D

Public Class Container : Inherits Control
    Private _Gp As GraphicsPath

    Private Sub Container_Paint(ByVal …
Run Code Online (Sandbox Code Playgroud)

vb.net controls gdi+

2
推荐指数
1
解决办法
1万
查看次数

是否有可能将嵌套的DIV z-index更高(显示在'上方')然后在IE7中对根DIV进行z-index?

UPDATE!

建议的答案是不正确的,我的错误.#container DIV应该有"float:left;".请验证Firefox和IE7中的HTML.你可以看到差异!

我不能让一个DIV嵌套使用的z-index显示上方的较高层次的嵌套DIV ...叠加保持在铺设即使底部嵌套DIV具有较高的z-index较低DIV嵌套...这是甚至可能在IE7中?

以下显示Firefox中绿色#overlay上方的蓝色#details,但在IE7中,蓝色#details位于绿色#overlay下方

UPDATE2:价格 :添加"z-index:99;" #container样式使得类.item div出现(在Firefox中,IE搞砸了:无论如何都不能正确显示),而它们应该在叠加下!如果没有#container z-index设置,它会在Firefox中正确显示,但不能在IE中显示....

<html>
    <body>
        <style type="text/css">
            .item {
                float:left;width:75px;height:75px;background-color:red;
            }
        </style>
        <div id="main" style="position:relative;">
            <!-- this one should overlay everything, except #details -->
            <div id="overlay" style="position:absolute;
                                     top:0px;
                                     left:0px;
                                     width:500px;
                                     height:500px;
                                     z-index:1;
                                     background-color:green;"></div>
            <div id="container" style="position:relative;float:left;">
                <!-- these ones should display UNDER the overlay: so NOT visible -->
                <div class="item"></div>
                <div class="item"></div>
                <div class="item"></div>
                <div class="item"></div>
                <div class="item"></div>
                <!-- this one should display above the overlay -->
                <div id="details" style="position:absolute;
                                         width:200px;
                                         height:200px; …
Run Code Online (Sandbox Code Playgroud)

html css z-index

2
推荐指数
1
解决办法
1万
查看次数

为什么Internet Explorer 8会打印隐形内容?

请检查下面的HTML代码.第3个DIV部分可见,因为它被第2个(具有白色背景)覆盖.到目前为止一切都很好,一切都在IE和Firefox中正确显示.

我打印页面时问题开始.在Firefox中,它打印在页面上显示.在Internet Explorer 8中,它以某种方式完全打印所有DIVS.它看起来好像在第二个DIV(或全部)上应用了不透明度滤镜,这使第三个DIV完全可见......

我为页面的打印版本创建了一个带有新内容(在javascript中)的白色叠加层.由于上述问题,它无法正常工作,因为叠加层下方的所有内容也会打印出来......

为什么IE8会打印这种隐形内容?有解决方案吗?

<html>
<head>
</head>
<body>

<div style="background-color:#999999;position:relative;border:solid 1px black;width:500px;height:500px;">     
    <div style="position:absolute;width:300px;height:200px;top:5px;left:5px;border:dashed 1px #cccccc;z-index:99;background-color:white;"></div>
    <div style="position:absolute;width:100px;height:200px;top:100px;left:50px;border:dashed 5px #cccccc;z-index:98;background-color:white;"></div>
</div>



</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html css printing internet-explorer-8

2
推荐指数
2
解决办法
1万
查看次数

.NET MVC - 表单提交导致回发而不是onSubmit javascript执行

我正在尝试使用jQuery提交我的Ajax表单.但是,调用submit()函数会导致整个页面刷新.它应该只执行表单的onSubmit部分(返回false以便页面不应刷新).

<%Ajax.BeginForm("AllocateAndUpdateMech", 
  New With {.Controller = "Planning", 
            .Id = Model.Id}, 
            New AjaxOptions With {
                       .LoadingElementId = "loading", 
                       .UpdateTargetId = Model.Id & "_alloc"}, 
            New With {.id = "allocate_" & Model.Id & "_" & item.UserId}
)%>
<%Html.Hidden("mechId", item.UserId)%>
<a href="javascript:void(0);" onclick="$('#<%="allocate_" & Model.Id & "_" & item.UserId %>').submit();">Allocate: <%=item.UserName%></a>
<%Html.EndForm()%>
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc jquery form-submit

2
推荐指数
1
解决办法
3700
查看次数

是否可以从URL获取控制器,操作和routeValues(基于Global.asax路由)?

我有一个URL.有可能以某种方式获得控制器和动作名称以及路由值吗?(通常由.NET MVC框架基于global.asax中的定义生成)

debugging asp.net-mvc routes

2
推荐指数
1
解决办法
2149
查看次数

.NET - 非常奇怪的NullReferenceException?

如何NullReferenceException在以下场景中获得?

 Dim langs As IEnumerable(Of SomeCustomObject) = //some LINQ query
 If langs Is Nothing Then Return Nothing 
 If langs.Count = 1 Then //NullReferenceException here
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?Debug显示这langs实际上只是一个没有任何结果的LINQ queryresult ...

linq vb.net nullreferenceexception

2
推荐指数
1
解决办法
1091
查看次数

.NET MVC强类型助手 - 从属性中获取价值?

我正在创建一个强类型帮助器(参考:SO问题).如下面的代码中的'评论',是否有可能以某种方式从表达的属性中获取值,从而绕过可选selectedValue参数?

    <Extension()> _
    Public Function DatePickerFor(Of TModel As Class, TProperty)(ByVal htmlHelper As HtmlHelper(Of TModel), ByVal expression As Expression(Of Func(Of TModel, TProperty)), Optional ByVal selectedValue As Nullable(Of Date) = Nothing) As MvcHtmlString
        Dim inputName = ExpressionHelper.GetExpressionText(expression)
        Dim inputValue = selectedValue 
        //Something like this possible? 
        //inputValue = ExpressionHelper.GetExpressionValue(expression)
        Return DatePicker(htmlHelper, inputName, inputValue)
    End Function
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc linq-expressions strongly-typed-helper

2
推荐指数
1
解决办法
1835
查看次数