Вот мой код страницы aspx.cs.Каждый раз, когда я запускаю код, я получаю единственный ответ: имя столбца не существует.
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false"
CssClass="table table-striped table-bordered table-hover" >
<Columns>
<asp:BoundField DataField="TutorialId" HeaderText="Tutorial Id"/>
<asp:BoundField DataField="TutorialTitle" HeaderText="TutorialTitle"/>
<asp:BoundField DataField="CatId" HeaderText="Category Id" />
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkview" runat="server" OnClick="lnk_OnClick"
CommandArgument='<%#Eval("TutorialId") %>'>View</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
А вот мой код aspx.Здесь я использовал событие нажатия на кнопку ссылки, которая получает идентификационный номер:
protected void lnk_OnClick(object sender, EventArgs e)
{
int TutorialId = Convert.ToInt32((sender as LinkButton).CommandArgument);
GetTutorialById();
}
private void GetTutorialById()
{
OnlineSubjects onlinesubject = new OnlineSubjects();
DataTable dTable = onlinesubject.GetTutorialById();
txtTutId.Text = dTable.Rows[0]["TutorialId"].ToString();
txtTitle.Text = dTable.Rows[0]["TutorialTitle"].ToString();
txtAddTutorial.Text = dTable.Rows[0]["TutorialDesc"].ToString();
}
public DataTable GetTutorialById()
{
SqlParameter[] parameters = new SqlParameter[1];
parameters[0] = DataLayer.DataAccess.AddParameter(
"@TutorialId", TutorialId, System.Data.SqlDbType.Int, 100);
DataTable dTable = DataLayer.DataAccess.ExecuteDTByProcedure(
"spTutorialViewById", parameters);
return dTable;
}