gpt4 book ai didi

c# - 未处理的 GridView 触发事件 RowEditing

转载 作者:太空狗 更新时间:2023-10-29 21:34:56 29 4
gpt4 key购买 nike

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AppManagementConsole
{
public partial class _Default : Page
{
string BuildUploadPath = ConfigurationManager.AppSettings["DirectoryPath"] + "Files/";
string ReleaseNotesUpPath = ConfigurationManager.AppSettings["DirectoryPath"] + "ReleaseNotes/";

protected void Page_Load(object sender, EventArgs e)
{
cpBuildDate.SelectedDate = DateTime.Now;
getBuildData();
}

public void getBuildData()
{
//Select Build List
SqlCommand selectCommand = new SqlCommand("Select * from tblBuildList");

try
{
//Connect to DB
using (SqlConnection conRDB = new SqlConnection(ConfigurationManager.ConnectionStrings["conRDB"].ConnectionString))
{
SqlDataAdapter selectAdapater = new SqlDataAdapter(selectCommand.CommandText, conRDB);

DataSet dsBuilds = new DataSet();
selectAdapater.Fill(dsBuilds);

//Populate Webpage GV
gvDataBind(dsBuilds);
}
}

catch (Exception ex)
{
}
}


public void gvDataBind(DataSet dsBuilds)
{
gvBuildList.Dispose();
gvBuildList.DataSource = dsBuilds;
gvBuildList.DataBind();
}

protected void gvBuildList_RowEditing(object sender, GridViewEditEventArgs e)
{
gvBuildList.PageIndex = e.NewEditIndex;
//Bind data to the GridView control.
getBuildData();
}

protected void btnSubmit_Click(object sender, EventArgs e)
{
//Upload Files
UploadFiles();

//Update SQL Table
AddBuildInfo(txtProduct.Text, txtPlatform.Text, cpBuildDate.SelectedDate, txtPublisher.Text, txtVersion.Text, BuildUploadPath,FileUpBuild.FileName, ReleaseNotesUpPath, FileUpRelease.FileName, txtComments.Text);
}

private void UploadFiles()
{
#region Build
string tempfileDir = @"C:\Publish\TempFileStorage\";
if (FileUpBuild.HasFile)
{
try
{
if (!Directory.Exists(tempfileDir))
{
Directory.CreateDirectory(tempfileDir);
}
FileUpBuild.SaveAs(@"C:\Publish\TempFileStorage\" + FileUpBuild.FileName);
FTP.FtpUpload(BuildUploadPath, FileUpBuild.FileName, tempfileDir + FileUpBuild.FileName);
//FileUpBuild.SaveAs();
//FileUpBuild.FileContent();
}
catch (Exception ex)
{
}
finally
{
File.Delete(@"C:\Publish\TempFileStorage\" + FileUpBuild.FileName);
}
}
#endregion

#region ReleaseNotes
if (FileUpRelease.HasFile)
{
try
{
if (!Directory.Exists(tempfileDir))
{
Directory.CreateDirectory(tempfileDir);
}
FileUpRelease.SaveAs(@"C:\Publish\TempFileStorage\" + FileUpRelease.FileName);
FTP.FtpUpload( ReleaseNotesUpPath, FileUpRelease.FileName, tempfileDir + FileUpRelease.FileName);
//FileUpBuild.SaveAs();
//FileUpBuild.FileContent();
}
catch (Exception ex)
{
}
finally
{
File.Delete(@"C:\Publish\TempFileStorage\" + FileUpRelease.FileName);
}
}
#endregion

}

private void AddBuildInfo(string product, string platform, DateTime builddate, string publisher, string version, string location, string filename, string releaseloc, string releasefile, string comment)
{
try
{
using (SqlConnection conRDB = new SqlConnection(ConfigurationManager.ConnectionStrings["conRDB"].ConnectionString))
{
SqlCommand insertCommand = new SqlCommand("Insert into tblBuildList " +
"Values('" + product + "'," +
"'" + platform + "'," +
"'" + builddate + "'," +
"'" + publisher + "'," +
"'" + version + "'," +
"'" + location + "'," +
"'" + filename + "'," +
"'" + releaseloc + "'," +
"'" + releasefile + "'," +
"'" + comment + "')", conRDB);
conRDB.Open();
insertCommand.ExecuteNonQuery();

getBuildData();
conRDB.Close();
}
}

catch (Exception ex)
{
}
}

protected void btnUpBuild_Click(object sender, EventArgs e)
{
string tempfileDir = @"C:\Publish\TempFileStorage\";
if (FileUpBuild.HasFile)
{
try
{
if (!Directory.Exists(tempfileDir))
{
Directory.CreateDirectory(tempfileDir);
}
FileUpBuild.SaveAs(@"C:\Publish\TempFileStorage\" + FileUpBuild.FileName);
FTP.FtpUpload(BuildUploadPath, FileUpBuild.FileName, tempfileDir + FileUpBuild.FileName);
//FileUpBuild.SaveAs();
//FileUpBuild.FileContent();
}
catch (Exception ex)
{
}
finally
{
File.Delete(@"C:\Publish\TempFileStorage\" + FileUpBuild.FileName);
}
}
}

protected void btnUpRelease_Click(object sender, EventArgs e)
{
string tempfileDir = @"C:\Publish\TempFileStorage\";
if (FileUpRelease.HasFile)
{
try
{
if (!Directory.Exists(tempfileDir))
{
Directory.CreateDirectory(tempfileDir);
}
FileUpRelease.SaveAs(@"C:\Publish\TempFileStorage\" + FileUpRelease.FileName);
FTP.FtpUpload( ReleaseNotesUpPath, FileUpRelease.FileName, tempfileDir + FileUpRelease.FileName);
//FileUpBuild.SaveAs();
//FileUpBuild.FileContent();
}
catch (Exception ex)
{
}
finally
{
File.Delete(@"C:\Publish\TempFileStorage\" + FileUpRelease.FileName);
}
}
}

}

上面是我后面的代码

下面是我的 .aspx 页面

<div id="Addnewbuild">
<h3>Add a New Build</h3>
<table>
<tr>
<th>
<asp:Label ID="lblHeader1" runat="server">Product</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader2" runat="server">Platform</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader3" runat="server">Build Date</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader31" runat="server">Publisher</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader4" runat="server">Version #</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader5" runat="server">Build</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader6" runat="server">Release Notes</asp:Label>
</th>
<th>
<asp:Label ID="lblHeader7" runat="server">Comments</asp:Label>
</th>
</tr>
<tr>
<td>
<asp:TextBox ID="txtProduct" runat="server" Width="150px"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtPlatform" runat="server" Width="75px"></asp:TextBox>
</td>
<td>
<ew:CalendarPopup ID="cpBuildDate" ControlDisplay="TextBoxButton" Text="Change Date"
runat="server" SelectedDate="" VisibleDate="" Visible="True" Enabled="True" Width="100px">
</ew:CalendarPopup>
</td>
<td>
<asp:TextBox ID="txtPublisher" runat="server" Width="75px"></asp:TextBox>
</td>
<td>
<asp:TextBox ID="txtVersion" runat="server" Width="75px"></asp:TextBox>
</td>
<td>
<asp:FileUpload ID="FileUpBuild" runat="server" />
<!--<asp:Button ID="btnUpBuild" runat="server" Text="Upload Build" OnClick="btnUpBuild_Click" />-->
</td>
<td>
<asp:FileUpload ID="FileUpRelease" runat="server" />
<!--<asp:Button ID="btnUpRelease" runat="server" Text="Upload Release Notes" OnClick="btnUpRelease_Click" />-->
</td>
<td>
<asp:TextBox ID="txtComments" runat="server" Width="100px" TextMode="MultiLine"></asp:TextBox>
</td>
</tr>
</table>

<asp:Button ID="btnSubmit" Text="Submit" runat="server" OnClick="btnSubmit_Click" />
</div>
<br />
<br />
<br />

<div id="buildlist">
<h3>Build List</h3>
<asp:GridView ID="gvBuildList" runat="server" AutoGenerateColumns="False" AllowPaging="True" OnRowEditing="gvBuildList_RowEditing" AutoGenerateEditButton="True">
<Columns>
<asp:TemplateField HeaderText="Product">
<ItemTemplate>
<asp:Label ID="lblProduct" runat="server" Text='<%#Eval("ProductName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVProduct" runat="server" Text='<%#Eval("ProductName")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Platform">
<ItemTemplate>
<asp:Label ID="lblplatform" runat="server" Text='<%#Eval("Platform")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVPlatform" runat="server" Text='<%#Eval("Platform")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Build Date">
<ItemTemplate>
<asp:Label ID="lblbldDate" runat="server" Text='<%#Eval("BuildDate")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVbldDate" runat="server" Text='<%#Eval("BuildDate")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Publisher">
<ItemTemplate>
<asp:Label ID="lblPublisher" runat="server" Text='<%#Eval("Publisher")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVPublisher" runat="server" Text='<%#Eval("Publisher")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Version #">
<ItemTemplate>
<asp:Label ID="lblVersion" runat="server" Text='<%#Eval("VersionNumber")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVVersion" runat="server" Text='<%#Eval("VersionNumber")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Build">
<ItemTemplate>
<asp:Label ID="lblbldLocation" runat="server" Text='<%#Eval("FileName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVbldLocation" runat="server" Text='<%#Eval("FileName")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Release Notes">
<ItemTemplate>
<asp:Label ID="lblRelease" runat="server" Text='<%#Eval("ReleaseFileName")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVRelease" runat="server" Text='<%#Eval("ReleaseFileName")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Comments">
<ItemTemplate>
<asp:Label ID="lblComments" runat="server" Text='<%#Eval("Comments")%>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGVComments" runat="server" Text='<%#Eval("Comments")%>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" ButtonType="Button" />
<asp:CommandField ShowDeleteButton="True" ButtonType="Button" />
<asp:TemplateField HeaderText="Actions">
<ItemTemplate>
<asp:ImageButton ID="btnDwnld" runat="server" ImageURL="Images/hard-drive-download.png" Width="20" Height="20" />
<asp:ImageButton ID="btnEmail" runat="server" ImageURL="Images/email-icon.png" Width="20" Height="20" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>

上面是我的 GridView 代码,我还有大约 8 个其他列,但我删除了它们。

即使我有行编辑方法来捕获任何编辑,我的页面仍然会抛出错误:

The GridView 'gvBuildList' fired event RowEditing which wasn't handled.

描述:

An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

异常详情:

System.Web.HttpException: The GridView 'gvBuildList' fired event RowEditing which wasn't handled.

来源错误:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

堆栈跟踪:

HttpException (0x80004005): The GridView 'gvBuildList' fired event RowEditing which wasn't handled.
System.Web.UI.WebControls.GridView.OnRowEditing(GridViewEditEventArgs e) +1588857 System.Web.UI.WebControls.GridView.HandleEdit(Int32 rowIndex) +43
System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +611
System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +205
System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +9643314 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

有什么想法吗?

最佳答案

你可以通过添加一个空事件来修复它

protected void grd_RowDeleting(object sender, GridViewDeleteEventArgs e)
{

}

关于c# - 未处理的 GridView 触发事件 RowEditing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170571/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com