У меня есть элемент управления DetailsView, который не присоединен к источнику данных, но заполнен хранимой процедурой.Кроме того, я не определяю никаких полей в разметке.У меня проблема с захватом текста ячейки во время события ItemUpdating.Например, я хочу извлечь текст из ячейки 1 из каждой из пяти строк и сохранить их в переменной, но каждый раз текст переменной возвращается на нуль.Любая помощь будет оценена.Ниже моя разметка, а затем код:
<asp:DetailsView ID="goalsDetailsView" runat="server" AllowPaging="True"
CssClass="mGrid" DataKeyNames="GoalID,TaskSetID" Height="50px"
onitemcreated="goalsDetailsView_ItemCreated"
onmodechanging="goalsDetailsView_ModeChanging"
OnPageIndexChanging="goalsDetailsView_PageIndexChanging" Width="100%"
onitemdeleting="goalsDetailsView_ItemDeleting"
onitemupdating="goalsDetailsView_ItemUpdating">
<Fields>
<asp:CommandField ShowEditButton="True" ShowDeleteButton="True" />
</Fields>
</asp:DetailsView>
protected void goalsDetailsView_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
//Accessing Edited values from the Details View
//grab the goalid and create a string guid
string strgoalid = goalsDetailsView.Rows[0].Cells[1].Text; //GoalID
Guid goalid = new Guid(strgoalid);
//grab the tasksetid and create a string guid
string strtasksetid = goalsDetailsView.Rows[1].Cells[1].Text; //TaskSetID
Guid tasksetid = new Guid(strtasksetid);
//grab goal text
//string goal = ((TextBox)GoalsGridView.Rows[3].Cells[1].Controls[0]).Text; //Company
string goal = goalsDetailsView.Rows[2].Cells[1].Text;
//grab task text
string Task1 = goalsDetailsView.Rows[3].Cells[1].Text; //Task 1
string Task2 = goalsDetailsView.Rows[4].Cells[1].Text; //Task 2
string Task3 = goalsDetailsView.Rows[5].Cells[1].Text; //Task 3
string Task4 = goalsDetailsView.Rows[6].Cells[1].Text; //Task 4
string Task5 = goalsDetailsView.Rows[7].Cells[1].Text; //Task 5
UpdateOrAddNewRecord(goalid, tasksetid, Task1, Task2, Task3, Task4, Task5, goal, true); // call update method
BindDetailsView(); // Rebind GridView to reflect changes made
}