小编cw_*_*dev的帖子

SqlCommand(使用Statement/Disposing问题)

以下面的例子为例......

        Using cn As New SqlConnection(ConnectionString)
            Try
                Dim cmd As SqlCommand = New SqlCommand
                With cmd
                    .Connection = cn
                    .Connection.Open()
                    .CommandText = "dbo.GetCustomerByID"
                    .CommandType = CommandType.StoredProcedure
                    .Parameters.Add("@CustomerID", SqlDbType.Int, 4)
                    .Parameters("@CustomerID").Value = CustomerID
                End With

                da = New SqlDataAdapter(cmd)
                da.Fill(ds, "Customer")
            Catch ex As Exception

            End Try
        End Using
Run Code Online (Sandbox Code Playgroud)

根据我今天的研究,听起来好像这基本上还可以,但是SqlCommand没有被处理掉.

问题 - >以下哪个例子是处理此问题的最佳方法?

示例2 - 手动处理

        Using cn As New SqlConnection(ConnectionString)
            Try
                Dim cmd As SqlCommand = New SqlCommand
                With cmd
                    .Connection = cn
                    .Connection.Open()
                    .CommandText = "dbo.GetCustomerByID"
                    .CommandType = CommandType.StoredProcedure …
Run Code Online (Sandbox Code Playgroud)

vb.net dispose sqlcommand using-statement

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

MVC 3对列表进行不显眼的验证

我已经创建了服务器端属性级别验证属性.但是,我没有将它应用于单个字段,而是将其应用于List.这允许我作为一个整体验证模型.

我现在需要知道如何使用MVC 3中内置的不显眼的客户端验证将其转换为工作.

我目前的代码如下,以说明我的问题......

脚本

基本方案是按GroupNo字段分组的List中每行的所有Quantity值的总计.如果任何组的总和超过10,则应显示错误.

我在前一篇文章中得到了一个答案,使得这个工作服务器端使用针对List的验证属性...

该模型:

public class ItemDetails
{
    public int SerialNo { get; set; }
    public string Description { get; set; }
    public int GroupNo { get; set; }
    public decimal Price { get; set; }
    public int Quantity { get; set; }
}

public class MyViewModel
{
    [EnsureMaxGroupItems(10, ErrorMessage = "You cannot have more than 10 items in each group")]
    public IList<ItemDetails> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和验证属性本身:

[AttributeUsage(AttributeTargets.Property)]
public class EnsureMaxGroupItemsAttribute : …
Run Code Online (Sandbox Code Playgroud)

validation asp.net-mvc-validation unobtrusive-validation asp.net-mvc-3

5
推荐指数
1
解决办法
4902
查看次数

我应该使用Html.Label助手吗?

在MVC项目中,我使用HTML.Label助手,如下所示: -

@Html.Label("FirstName", "First Name", New With {.class = "FieldLabel"})
Run Code Online (Sandbox Code Playgroud)

哪个输出

<label class="FieldLabel" for="FirstName">First Name</label>
Run Code Online (Sandbox Code Playgroud)

我也有这个标签的相应输入.

这可能听起来像一个愚蠢的问题,但如果我只是将直接输出输入到我的视图而不是使用HTML帮助器,那么绝对没有任何区别吗?那么为标签使用HTML帮助器有什么优点/缺点吗?

asp.net-mvc html-helper

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

MVC - 更改比较属性错误消息

在我的MVC应用程序中,我能够从文本文件中获取错误消息,而不是使用默认错误消息.这完全适用于Required属性(Serverside和Clientside).

我现在需要对Compare属性做同样的事情,但我无法弄清楚如何覆盖Compare属性.

作为参考,这是我使用Required属性的方式(我希望类似的代码使用Compare属性)...

Public Class RequiredFieldAttribute
    Inherits ValidationAttribute
    Implements IClientValidatable

    Private innerAttribute As New RequiredAttribute()
    Private errormessagecontrolid As String

    Public Sub New(ErrorMessageControlID As String)

        Me.errormessagecontrolid = ErrorMessageControlID

    End Sub

    Protected Overrides Function IsValid(value As Object, validationContext As ValidationContext) As ValidationResult

        If Not innerAttribute.IsValid(value) Then
            Return New ValidationResult(ErrorMsgs.Text(Me.errormessagecontrolid))
        End If

        Return ValidationResult.Success

    End Function

    Public Function GetClientValidationRules(metadata As ModelMetadata, context As ControllerContext) As IEnumerable(Of ModelClientValidationRule) Implements IClientValidatable.GetClientValidationRules

        Dim result = New List(Of ModelClientValidationRule)

        Dim rule = New …
Run Code Online (Sandbox Code Playgroud)

vb.net asp.net-mvc

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