[英]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.