Получение данных из gridview в текстовое поле в asp.net c # с помощью кнопки ссылки - PullRequest
0 голосов
/ 07 июня 2018

Вот мой код страницы 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;
}
...