我在sitefinity页面上有一个RadGrid,我用它来创建一个模块来在后端的数据库表上表示CRUD。
如果我将RadGrid放在aspx页面上并在浏览器中查看,它工作正常,但是当我将它添加到站点后端页面时,只有刷新和删除工作,添加和更新不保存到数据库
如果与RadGrid Ajax冲突,我只能在sitefinity后端中假设某些东西
这是我的代码:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="newsArticleAdmin.ascx.cs" Inherits="SitefinityWebApp.Modules.newsArticles.admin.newsArticleAdmin" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<div style="clear:both;"></div>
<div id="adminContents">
<h2>News Articles</h2>
<p>These articles appear on the home page</p>
<br />
<telerik:RadScriptManager ID="RadScriptManager1" Runat="server">
</telerik:RadScriptManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="RadGrid1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="RadGrid1" />
<telerik:AjaxUpdatedControl ControlID="SqlDataSource1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadGrid ID="RadGrid1" runat="server" AllowAutomaticDeletes="True"
AllowAutomaticInserts="True" AllowAutomaticUpdates="True"
AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True" CellSpacing="0"
DataSourceID="SqlDataSource1" GridLines="None" Skin="Telerik">
<MasterTableView AutoGenerateColumns="False" CommandItemDisplay="TopAndBottom"
DataKeyNames="fld_blogPostId" DataSourceID="SqlDataSource1"
EditMode="InPlace">
<CommandItemSettings ExportToPdfText="Export to PDF"
AddNewRecordText="Add new article"></CommandItemSettings>
<RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
</RowIndicatorColumn>
<ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn DataField="fld_blogPostId" DataType="System.Int32"
FilterControlAltText="Filter fld_blogPostId column" HeaderText="fld_blogPostId"
ReadOnly="True" SortExpression="fld_blogPostId" UniqueName="fld_blogPostId">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="fld_blogTitle"
FilterControlAltText="Filter fld_blogTitle column" HeaderText="fld_blogTitle"
SortExpression="fld_blogTitle" UniqueName="fld_blogTitle">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="fld_blogContents"
FilterControlAltText="Filter fld_blogContents column"
HeaderText="fld_blogContents" SortExpression="fld_blogContents"
UniqueName="fld_blogContents">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="fld_blogDate"
FilterControlAltText="Filter fld_blogDate column" HeaderText="fld_blogDate"
SortExpression="fld_blogDate" UniqueName="fld_blogDate">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="fld_blogImage"
FilterControlAltText="Filter fld_blogImage column" HeaderText="fld_blogImage"
SortExpression="fld_blogImage" UniqueName="fld_blogImage">
</telerik:GridBoundColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
<StatusBarSettings LoadingText="Loading articles..."
ReadyText="Articles ready" />
<FilterMenu EnableImageSprites="False"></FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu>
</telerik:RadGrid>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:NewsArticlesConnectionString %>"
DeleteCommand="DELETE FROM [tbl_newsArticles] WHERE [fld_blogPostId] = @fld_blogPostId"
InsertCommand="INSERT INTO [tbl_newsArticles] ([fld_blogTitle], [fld_blogContents], [fld_blogDate],
[fld_blogImage]) VALUES(@fld_blogTitle, @fld_blogContents, @fld_blogDate, @fld_blogImage)"
SelectCommand="SELECT * FROM tbl_newsArticles"
UpdateCommand="UPDATE [tbl_newsArticles] SET [fld_blogTitle] = @fld_blogTitle, [fld_blogContents] = @fld_blogContents,
[fld_blogDate] = @fld_blogDate, [fld_blogImage] = @fld_blogImage WHERE fld_blogPostId = @fld_blogPostId">
<DeleteParameters>
<asp:Parameter Name="fld_blogPostId" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="fld_blogTitle" />
<asp:Parameter Name="fld_blogContents" />
<asp:Parameter Name="fld_blogDate" />
<asp:Parameter Name="fld_blogImage" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="fld_blogTitle" />
<asp:Parameter Name="fld_blogContents" />
<asp:Parameter Name="fld_blogDate" />
<asp:Parameter Name="fld_blogImage" />
<asp:Parameter Name="fld_blogPostId" />
</UpdateParameters>
</asp:SqlDataSource>
</div>
以前见过这个并且知道修复的人?
干杯
安德鲁 @ atmd83
答案 0 :(得分:3)
尝试在后端页面编辑器中打开页面,并确保“启用视图状态”设置为true。默认情况下,Sitefinity中的后端页面通常设置为禁用,因为大多数后端使用AJAX。
希望这有用!