Удаление тега </p> после контроля ValidationSummary - PullRequest
1 голос
/ 22 марта 2011

Я использую Visual Studio 2010 в ASP.NET с кодом C #.

У меня есть страница ASP.NET с кодом в режиме просмотра исходного кода:

<p>
    <asp:ValidationSummary ID="ValidationSummary1" runat="server" />
</p>

Если я переключаюсь в DesignПросмотрите и вернитесь в Source View в VS, он неожиданно автоматически удаляет последний </p>.

У вас есть такая же проблема в вашей Visual Studio?Есть идеи как это решить?

Спасибо.

PS Вот мой полный код:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <h1>
        Create Groups Types</h1>
    <p>
        <asp:DetailsView ID="uxCreateGroupsTypesDisplayer" runat="server" AutoGenerateRows="False"
            DataKeyNames="GroupTypeId" DataSourceID="uxEntityDataSourceCreateGroupsTypes"
            DefaultMode="Insert" 
            oniteminserted="uxCreateGroupsTypesDisplayer_ItemInserted" 
            oniteminserting="uxCreateGroupsTypesDisplayer_ItemInserting">
            <Fields>
                <asp:TemplateField HeaderText="TypeGroup" SortExpression="TypeGroup">
                    <InsertItemTemplate>
                        <asp:TextBox ID="uxTypeGroupInput" runat="server" Text='<%# Bind("TypeGroup") %>'></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="TypeGroup field is required."
                            ControlToValidate="uxTypeGroupInput" Text="*">
                        </asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="uxRegularExpressionTypeGroup" runat="server"
                            ControlToValidate="uxTypeGroupInput" ErrorMessage="TypeGroup is too long or short. Change the field accordingly."
                            ValidationExpression="^.{4,40}$">*</asp:RegularExpressionValidator>
                    </InsertItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Summary" SortExpression="Summary">
                    <InsertItemTemplate>
                        <asp:TextBox ID="uxSummaryInput" runat="server" Text='<%# Bind("Summary") %>'></asp:TextBox>
                        <asp:RequiredFieldValidator ID="RequiredFieldValidatorSummary" runat="server" ErrorMessage="Summary field is required."
                            ControlToValidate="uxSummaryInput" Text="*">
                        </asp:RequiredFieldValidator>
                        <asp:RegularExpressionValidator ID="uxRegularExpressionSummary" runat="server" ControlToValidate="uxSummaryInput"
                            ErrorMessage="Summary is too long or short. Change the field accordingly." ValidationExpression="^.{4,256}$">*</asp:RegularExpressionValidator>
                    </InsertItemTemplate>
                </asp:TemplateField>
                <asp:CommandField ShowInsertButton="True" />
            </Fields>
        </asp:DetailsView>
    </p>
    <p>
        <asp:ValidationSummary ID="ValidationSummary1" runat="server" /></p> <!-- The problem is here - This tag disappear if you switch from source view to design view and back to source view -->
        <asp:EntityDataSource ID="uxEntityDataSourceCreateGroupsTypes" runat="server" 
            EnableFlattening="False"
            EnableInsert="True" EntitySetName="CmsGroupsTypes">
        </asp:EntityDataSource>
</asp:Content>

Ответы [ 2 ]

1 голос
/ 28 марта 2011

В VS2008 заменено:

<p>
<asp:ValidationSummary ID="ValidationSummary1" runat="server" /></p>

С:

<p>
<asp:ValidationSummary ID="ValidationSummary1" runat="server"></asp:ValidationSummary></p>

Это работает, хотя и не согласуется с закрывающим тегом в разметке.Рендеринг корректен, хотя в IE8.

Почему этот итоговый элемент управления должен быть заключен в тег абзаца?Сводка проверки отображается как элемент блока.

1 голос
/ 22 марта 2011

Не используйте Design View для редактирования разметки, всегда используйте Source View, то есть саму разметку для редактирования разметки.

IMO Design View - просто простое представление только для чтения, предназначенное для проверки.

...