簡體   English   中英

asp.net:DetailsView的TemplateFiled中的RequiredFieldValidator在運行時不起作用

[英]asp.net: RequiredFieldValidator in TemplateFiled for DetailsView does not work at run time

我試圖將驗證器添加到DetailsView控件的模板中,但是在運行時遇到此錯誤:

“ /”應用程序中的服務器錯誤。

WebForms UnobtrusiveValidationMode需要針對“ jquery”的ScriptResourceMapping。 請添加一個名為jquery(區分大小寫)的ScriptResourceMapping。 說明:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤,以獲取有關錯誤及其在代碼中起源的更多信息。

異常詳細信息:System.InvalidOperationException:WebForms UnobtrusiveValidationMode需要對'jquery'使用ScriptResourceMapping。 請添加一個名為jquery(區分大小寫)的ScriptResourceMapping。

源錯誤:

當前Web請求的執行期間生成了未處理的異常。 可以使用下面的異常堆棧跟蹤來標識有關異常的來源和位置的信息。

下面是我在Visual Studio 2017中的程序。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InsertTitleByTemplate.aspx.cs" Inherits="WebAppAspAzDataConn.InsertTitleByTemplate" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" DataKeyNames="title_id" DataSourceID="SqlDataSource1"
                OnItemInserted="DetailView_ItemInsert" OnItemCommand="DetailView_ItemCommand"
                DefaultMode="Insert" Height="50px" Width="364px" >
                <Fields>
                    <asp:BoundField DataField="title" HeaderText="Title" SortExpression="title" />
                    <asp:TemplateField HeaderText="Price">
                        <EditItemTemplate> 
                            <asp:TextBox ID="price" runat="server"
                                Text='<%# Bind("price") %>' />
                            <br />
                            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="price" ErrorMessage="RequiredFieldValidator"></asp:RequiredFieldValidator>

                            <br />
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Publish Date">
                        <EditItemTemplate >
                            <asp:TextBox ID="pub_date" runat="server" 
                                Text='<%# Bind("pubdate") %>' />
                        </EditItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField DataField="notes" HeaderText="Notes" SortExpression="notes" />
                    <asp:CommandField ShowInsertButton="True" />
                </Fields>
            </asp:DetailsView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:mybookstoreConnectionString1 %>" DeleteCommand="DELETE FROM [titles] WHERE [title_id] = @title_id" InsertCommand="INSERT INTO [titles] ([pub_id], [au_id], [title], [price], [pubdate], [notes]) VALUES (@pub_id, @au_id, @title, @price, @pubdate, @notes)" ProviderName="<%$ ConnectionStrings:mybookstoreConnectionString1.ProviderName %>" SelectCommand="SELECT [title_id], [pub_id], [au_id], [title], [price], [pubdate], [notes] FROM [titles]" UpdateCommand="UPDATE [titles] SET [pub_id] = @pub_id, [au_id] = @au_id, [title] = @title, [price] = @price, [pubdate] = @pubdate, [notes] = @notes WHERE [title_id] = @title_id">
                <DeleteParameters>
                    <asp:Parameter Name="title_id" Type="Int32" />
                </DeleteParameters>
                <InsertParameters>
                    <asp:Parameter Name="pub_id" Type="Int32" />
                    <asp:Parameter Name="au_id" Type="Int32" />
                    <asp:Parameter Name="title" Type="String" />
                    <asp:Parameter Name="price" Type="Decimal" />
                    <asp:Parameter Name="pubdate" Type="DateTime" />
                    <asp:Parameter Name="notes" Type="String" />
                </InsertParameters>
                <UpdateParameters>
                    <asp:Parameter Name="pub_id" Type="Int32" />
                    <asp:Parameter Name="au_id" Type="Int32" />
                    <asp:Parameter Name="title" Type="String" />
                    <asp:Parameter Name="price" Type="Decimal" />
                    <asp:Parameter Name="pubdate" Type="DateTime" />
                    <asp:Parameter Name="notes" Type="String" />
                    <asp:Parameter Name="title_id" Type="Int32" />
                </UpdateParameters>
            </asp:SqlDataSource>
        </div>
    </form>
</body>
</html>

檢查您的web.config是否正確設置了以下設置:

<appSettings>
  <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM