Я пытаюсь установить параметр команды вставки равным значению текстового поля, содержащегося в элементе управления DataList. @ Далее я попытаюсь найти соответствующий элемент управления и получить его значение.
protected void SqlDataSource1_Inserting(object sender, SqlDataSourceCommandEventArgs e)
{
TextBox Amt = (TextBox)DataList1.Items[0].FindControl("RadTextBox1");
e.Command.Parameters["@Amount"].Value = Convert.ToDecimal(Amt.Text);
}
Приведенный выше пример кода не работает, но также не возвращает синтаксических ошибок.Я подозреваю, что сделал что-то не так, пытаясь получить значение текстового поля, потому что оператор вставки работает нормально, если я установил параметр @Amount равным некоторому произвольному значению.Может кто-нибудь показать мне мою ошибку и как ее исправить?
// Дополнительный код для комментария
DataList:
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1"><ItemTemplate>
<telerik:RadTextBox ID="RadTextBox1" runat="server" Text='<%# Eval("TotalProratedAmountDue") %>'>
</telerik:RadTextBox>
</ItemTemplate>
</asp:DataList>
Кнопка вставки:
public void RadButton2_Click(object sender, EventArgs e)
{
SqlDataSource1.Insert();
}