【问题标题】:How to run off ASP.NET validation for aspx in VS?如何在 VS 中为 aspx 运行 ASP.NET 验证?
【发布时间】:2014-02-13 11:42:54
【问题描述】:

我在一个经典的 ASP.NET 4.0 项目中有一个名为 PicView 的 ascx 控件。开头是这样的:

<script runat="server">
Public ImageUrl As String

,表示我们可以在aspx页面中使用控件的ImageUrl属性。为了使用该控件,我将以下指令添加到一个 aspx 页面:

<%@ Register TagPrefix="x" TagName="PicView" src="~/ascx/PicView.ascx" %>

,然后在 aspx 的主体中使用这样的控件:

<x:PicView ImageUrl="img/bla-bla.jpg" runat="server" />

但是,Visual Studio 的自动内置 ASP.NET 验证总是报以下问题:

验证 (ASP.Net):属性“ImageUrl”不是元素“PicView”的有效属性。

我收到大量关于我的实际项目的警告消息。我还没有设法帮助 VS 理解我的代码是正确的,所以我想知道有没有办法关闭这个验证?

请注意,我只需要关闭 ASP.NET 验证,而不需要关闭此项目的特定 HTML 版本验证。当然,如果您能告诉我如何在我的情况下进行此验证,那就太好了。

【问题讨论】:

    标签: asp.net visual-studio validation syntax-error ascx


    【解决方案1】:

    ImageUrl 需要是属性,而不是字段,例如:

    Public Property ImageUrl As String
        Get
            Return _imageUrl
        End Get
        Set(value As String)
            _imageUrl = value
        End Set
    End Property
    Private _imageUrl As String
    

    如果您希望能够在代码中修改属性,并将其保留在 PostBack 中,则应使用 ViewState 来存储其值,例如:

    Public Property ImageUrl As String
        Get
            Return ViewState("imageUrl")
        End Get
        Set(value As String)
            ViewState("imageUrl") = value
        End Set
    End Property
    

    【讨论】:

    • 太棒了!有用。我不知道为什么几年前没有人回答类似的question
    猜你喜欢
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多